<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.11"/>
<title>ArNetworking: ArClientBase Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
  $(window).load(resizeHeight);
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">ArNetworking
   &#160;<span id="projectnumber">dev20180125</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.11 -->
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li><a href="examples.html"><span>Examples</span></a></li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
    </ul>
  </div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('classArClientBase.html','');});
</script>
<div id="doc-content">
<div class="header">
  <div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#pub-types">Public Types</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pro-types">Protected Types</a> &#124;
<a href="#pro-methods">Protected Member Functions</a> &#124;
<a href="#pro-attribs">Protected Attributes</a> &#124;
<a href="classArClientBase-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">ArClientBase Class Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>The base client class.  
 <a href="classArClientBase.html#details">More...</a></p>

<p><code>#include &lt;ArClientBase.h&gt;</code></p>
<div class="dynheader">
Inheritance diagram for ArClientBase:</div>
<div class="dyncontent">
 <div class="center">
  <img src="classArClientBase.png" usemap="#ArClientBase_map" alt=""/>
  <map id="ArClientBase_map" name="ArClientBase_map">
<area doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArASyncTask.html" alt="ArASyncTask" shape="rect" coords="0,56,90,80"/>
<area doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArThread.html" alt="ArThread" shape="rect" coords="0,0,90,24"/>
</map>
 </div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArClientBase_1_1Tracker.html">Tracker</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
Public Types</h2></td></tr>
<tr class="memitem:a307d45f7ff6432775c9f6a6be2a46b9c"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <a class="el" href="classArClientBase.html#a307d45f7ff6432775c9f6a6be2a46b9cafa66f83897cf6fac0c909e409984730a">CLIENT_KEY_LENGTH</a> = 16
 }</td></tr>
<tr class="separator:a307d45f7ff6432775c9f6a6be2a46b9c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af81d1a763266af658676640386e0bdf0"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArClientBase.html#af81d1a763266af658676640386e0bdf0">ClientState</a> { <br />
&#160;&#160;<a class="el" href="classArClientBase.html#af81d1a763266af658676640386e0bdf0a2dc9a243a788b28855a2120ff03d91c1">STATE_NO_CONNECTION</a>, 
<a class="el" href="classArClientBase.html#af81d1a763266af658676640386e0bdf0a68d3d360258b80db85e7b0eb2220e7e4">STATE_FAILED_CONNECTION</a>, 
<a class="el" href="classArClientBase.html#af81d1a763266af658676640386e0bdf0ae8788d50c4490a33e2d1d1532913001f">STATE_OPENED_SOCKET</a>, 
<a class="el" href="classArClientBase.html#af81d1a763266af658676640386e0bdf0a2d6dea49e2382d59c9ef98685f1e8e2b">STATE_EXCHANGED_INTROS</a>, 
<br />
&#160;&#160;<a class="el" href="classArClientBase.html#af81d1a763266af658676640386e0bdf0a02f2e7a7258afdcb09500599fce5e34a">STATE_REJECTED</a>, 
<a class="el" href="classArClientBase.html#af81d1a763266af658676640386e0bdf0ae2760604361ba1d0263e9ad255afdc79">STATE_WAITING_LIST</a>, 
<a class="el" href="classArClientBase.html#af81d1a763266af658676640386e0bdf0ae25062edaf7738d1b4bb46824fecb562">STATE_CONNECTED</a>, 
<a class="el" href="classArClientBase.html#af81d1a763266af658676640386e0bdf0a00a87398679ccc603667d8df5863f528">STATE_LOST_CONNECTION</a>
<br />
 }<tr class="memdesc:af81d1a763266af658676640386e0bdf0"><td class="mdescLeft">&#160;</td><td class="mdescRight">The state of the connection.  <a href="classArClientBase.html#af81d1a763266af658676640386e0bdf0">More...</a><br /></td></tr>
</td></tr>
<tr class="separator:af81d1a763266af658676640386e0bdf0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5566cb8173dd4c9ab4bcd3927c6af08f"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArClientBase.html#a5566cb8173dd4c9ab4bcd3927c6af08f">NonBlockingConnectReturn</a> { <a class="el" href="classArClientBase.html#a5566cb8173dd4c9ab4bcd3927c6af08fa5247a113a022404af73587ada6251d55">NON_BLOCKING_CONTINUE</a>, 
<a class="el" href="classArClientBase.html#a5566cb8173dd4c9ab4bcd3927c6af08fab549562d74947d93718d2e84d26c83e2">NON_BLOCKING_CONNECTED</a>, 
<a class="el" href="classArClientBase.html#a5566cb8173dd4c9ab4bcd3927c6af08fa33c6c425717634c2e0988d8ed09cc5a1">NON_BLOCKING_FAILED</a>
 }</td></tr>
<tr class="separator:a5566cb8173dd4c9ab4bcd3927c6af08f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_types_classArThread"><td colspan="2" onclick="javascript:toggleInherit('pub_types_classArThread')"><img src="closed.png" alt="-"/>&#160;Public Types inherited from <a class="el" href="../../docs/classArThread.html">ArThread</a></td></tr>
<tr class="memitem:af6d126a960a5af55f2ab3e05233e8b53 inherit pub_types_classArThread"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><b>Status</b> </td></tr>
<tr class="separator:af6d126a960a5af55f2ab3e05233e8b53 inherit pub_types_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a927e8816c53d7c3c0244cf1d8ad6f68b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArClientBase.html#a927e8816c53d7c3c0244cf1d8ad6f68b">addCycleCallback</a> (<a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArFunctor.html">ArFunctor</a> *functor)</td></tr>
<tr class="memdesc:a927e8816c53d7c3c0244cf1d8ad6f68b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Adds a functor to call every cycle.  <a href="#a927e8816c53d7c3c0244cf1d8ad6f68b">More...</a><br /></td></tr>
<tr class="separator:a927e8816c53d7c3c0244cf1d8ad6f68b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad3e597486ac95414f45f45a5b4bece8b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArClientBase.html#ad3e597486ac95414f45f45a5b4bece8b">addDisconnectOnErrorCB</a> (<a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArFunctor.html">ArFunctor</a> *functor, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArListPos.html#adb42d52c70a646c5698c5513cd25bbd0">ArListPos::Pos</a> position=<a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArListPos.html#adb42d52c70a646c5698c5513cd25bbd0a3c55111fa6c7f63c41fc0b387f5b57d9">ArListPos::LAST</a>)</td></tr>
<tr class="memdesc:ad3e597486ac95414f45f45a5b4bece8b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Adds a call for when a disconnection has occured because of error.  <a href="#ad3e597486ac95414f45f45a5b4bece8b">More...</a><br /></td></tr>
<tr class="separator:ad3e597486ac95414f45f45a5b4bece8b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af75610dd7e91d98097de1b252d0bacd5"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArClientBase.html#af75610dd7e91d98097de1b252d0bacd5">addHandler</a> (const char *name, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArFunctor1.html">ArFunctor1</a>&lt; <a class="el" href="classArNetPacket.html">ArNetPacket</a> * &gt; *functor, bool takeOwnershipOfFunctor=false)</td></tr>
<tr class="memdesc:af75610dd7e91d98097de1b252d0bacd5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Adds a callback functor for data packets received from the server.  <a href="#af75610dd7e91d98097de1b252d0bacd5">More...</a><br /></td></tr>
<tr class="separator:af75610dd7e91d98097de1b252d0bacd5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0d003cf30314ff582e08f4254e8d4656"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArClientBase.html#a0d003cf30314ff582e08f4254e8d4656">addServerShutdownCB</a> (<a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArFunctor.html">ArFunctor</a> *functor, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArListPos.html#adb42d52c70a646c5698c5513cd25bbd0">ArListPos::Pos</a> position=<a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArListPos.html#adb42d52c70a646c5698c5513cd25bbd0a3c55111fa6c7f63c41fc0b387f5b57d9">ArListPos::LAST</a>)</td></tr>
<tr class="memdesc:a0d003cf30314ff582e08f4254e8d4656"><td class="mdescLeft">&#160;</td><td class="mdescRight">Adds a call for when the server shuts down.  <a href="#a0d003cf30314ff582e08f4254e8d4656">More...</a><br /></td></tr>
<tr class="separator:a0d003cf30314ff582e08f4254e8d4656"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab2cf2d19c6da6490fe4c04554a7f31b2"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArClientBase.html#ab2cf2d19c6da6490fe4c04554a7f31b2">ArClientBase</a> ()</td></tr>
<tr class="memdesc:ab2cf2d19c6da6490fe4c04554a7f31b2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor.  <a href="#ab2cf2d19c6da6490fe4c04554a7f31b2">More...</a><br /></td></tr>
<tr class="separator:ab2cf2d19c6da6490fe4c04554a7f31b2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aafda00e4b6b85c5ddbfd55d54575e441"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArClientBase.html#aafda00e4b6b85c5ddbfd55d54575e441">blockingConnect</a> (const char *host, int port, bool <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/group__easy.html#gaeb5db5d20c1794795ec0d141ac305aa1">log</a>=true, const char *user=NULL, const char *password=NULL, const char *openOnIP=NULL)</td></tr>
<tr class="memdesc:aafda00e4b6b85c5ddbfd55d54575e441"><td class="mdescLeft">&#160;</td><td class="mdescRight">Connect to a server.  <a href="#aafda00e4b6b85c5ddbfd55d54575e441">More...</a><br /></td></tr>
<tr class="separator:aafda00e4b6b85c5ddbfd55d54575e441"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a873a731b968b4e3359c60d592122770b"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArClientBase.html#a873a731b968b4e3359c60d592122770b">dataExists</a> (const char *name)</td></tr>
<tr class="memdesc:a873a731b968b4e3359c60d592122770b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sees if this data exists.  <a href="#a873a731b968b4e3359c60d592122770b">More...</a><br /></td></tr>
<tr class="separator:a873a731b968b4e3359c60d592122770b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad260e1e7127e1f4116c0feca12febe7d"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArClientBase.html#ad260e1e7127e1f4116c0feca12febe7d">disconnect</a> (void)</td></tr>
<tr class="memdesc:ad260e1e7127e1f4116c0feca12febe7d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Disconnect from a server.  <a href="#ad260e1e7127e1f4116c0feca12febe7d">More...</a><br /></td></tr>
<tr class="separator:ad260e1e7127e1f4116c0feca12febe7d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a07a9b5d106fc8ca61754a560ac64a773"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArClientBase.html#a07a9b5d106fc8ca61754a560ac64a773">disconnectSoon</a> (void)</td></tr>
<tr class="memdesc:a07a9b5d106fc8ca61754a560ac64a773"><td class="mdescLeft">&#160;</td><td class="mdescRight">Disconnect from a server next time through the loop.  <a href="#a07a9b5d106fc8ca61754a560ac64a773">More...</a><br /></td></tr>
<tr class="separator:a07a9b5d106fc8ca61754a560ac64a773"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3f8c332ceee2111b1813b438e413e0c9"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArClientBase.html#a3f8c332ceee2111b1813b438e413e0c9">enforceProtocolVersion</a> (const char *protocolVersion, bool <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/group__easy.html#gaeb5db5d20c1794795ec0d141ac305aa1">log</a>=true)</td></tr>
<tr class="memdesc:a3f8c332ceee2111b1813b438e413e0c9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enforces the that the server is using this protocol version.  <a href="#a3f8c332ceee2111b1813b438e413e0c9">More...</a><br /></td></tr>
<tr class="separator:a3f8c332ceee2111b1813b438e413e0c9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a96d69ef43a3d460b07a036a482330a0f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArClientBase.html#a96d69ef43a3d460b07a036a482330a0f">enforceType</a> (<a class="el" href="classArServerCommands.html#a17e8a1248f23b0f1dde4606af34b0efd">ArServerCommands::Type</a> type, bool <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/group__easy.html#gaeb5db5d20c1794795ec0d141ac305aa1">log</a>=true)</td></tr>
<tr class="memdesc:a96d69ef43a3d460b07a036a482330a0f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enforces that the robots that connect are this type.  <a href="#a96d69ef43a3d460b07a036a482330a0f">More...</a><br /></td></tr>
<tr class="separator:a96d69ef43a3d460b07a036a482330a0f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac50bd95e8a0649f6347745c10176da74"><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArClientBase.html#ac50bd95e8a0649f6347745c10176da74">findCommandFromName</a> (const char *name)</td></tr>
<tr class="memdesc:ac50bd95e8a0649f6347745c10176da74"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the command number from the name.  <a href="#ac50bd95e8a0649f6347745c10176da74">More...</a><br /></td></tr>
<tr class="separator:ac50bd95e8a0649f6347745c10176da74"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a59e95e3eeaec12a3925ed3eb13d13b5e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArClientBase.html#a59e95e3eeaec12a3925ed3eb13d13b5e">finishNonBlockingDisconnect</a> ()</td></tr>
<tr class="memdesc:a59e95e3eeaec12a3925ed3eb13d13b5e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Finishes the process of disconnecting from the server.  <a href="#a59e95e3eeaec12a3925ed3eb13d13b5e">More...</a><br /></td></tr>
<tr class="separator:a59e95e3eeaec12a3925ed3eb13d13b5e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6e639770e8392cb106c71e7c68b24cb9"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArClientBase.html#a6e639770e8392cb106c71e7c68b24cb9">getClientKey</a> (unsigned char key[<a class="el" href="classArClientBase.html#a307d45f7ff6432775c9f6a6be2a46b9cafa66f83897cf6fac0c909e409984730a">CLIENT_KEY_LENGTH</a>])</td></tr>
<tr class="memdesc:a6e639770e8392cb106c71e7c68b24cb9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets a (probably) unique key that can be used to identify the client (after connection)  <a href="#a6e639770e8392cb106c71e7c68b24cb9">More...</a><br /></td></tr>
<tr class="separator:a6e639770e8392cb106c71e7c68b24cb9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a04ecf7d39ef1062a26f82f848dc2bcbb"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArClientBase.html#a04ecf7d39ef1062a26f82f848dc2bcbb">getConnectTimeoutTime</a> (void)</td></tr>
<tr class="memdesc:a04ecf7d39ef1062a26f82f848dc2bcbb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the time allowed for connection.  <a href="#a04ecf7d39ef1062a26f82f848dc2bcbb">More...</a><br /></td></tr>
<tr class="separator:a04ecf7d39ef1062a26f82f848dc2bcbb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a792f22a79dbcef9122ba69946315df16"><td class="memItemLeft" align="right" valign="top">const std::map&lt; unsigned int, <a class="el" href="classArClientData.html">ArClientData</a> * &gt; *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArClientBase.html#a792f22a79dbcef9122ba69946315df16">getDataMap</a> (void)</td></tr>
<tr class="memdesc:a792f22a79dbcef9122ba69946315df16"><td class="mdescLeft">&#160;</td><td class="mdescRight">Internal function get get the data map.  <a href="#a792f22a79dbcef9122ba69946315df16">More...</a><br /></td></tr>
<tr class="separator:a792f22a79dbcef9122ba69946315df16"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a98514abd83464f0bda9af37f30018c41"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArClientBase.html#a98514abd83464f0bda9af37f30018c41">getDebugLogging</a> (void)</td></tr>
<tr class="memdesc:a98514abd83464f0bda9af37f30018c41"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns if we're doing debug logging or not.  <a href="#a98514abd83464f0bda9af37f30018c41">More...</a><br /></td></tr>
<tr class="separator:a98514abd83464f0bda9af37f30018c41"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1c10f8408523e85a6d891d0331fa6259"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArClientBase.html#a1c10f8408523e85a6d891d0331fa6259">getHost</a> (void)</td></tr>
<tr class="memdesc:a1c10f8408523e85a6d891d0331fa6259"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the name of the host we tried to connect to.  <a href="#a1c10f8408523e85a6d891d0331fa6259">More...</a><br /></td></tr>
<tr class="separator:a1c10f8408523e85a6d891d0331fa6259"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a37a32ea9c66bae5a644ab6625568ecdd"><td class="memItemLeft" align="right" valign="top"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArTime.html">ArTime</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArClientBase.html#a37a32ea9c66bae5a644ab6625568ecdd">getLastPacketReceived</a> (void)</td></tr>
<tr class="memdesc:a37a32ea9c66bae5a644ab6625568ecdd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the last time a packet was received.  <a href="#a37a32ea9c66bae5a644ab6625568ecdd">More...</a><br /></td></tr>
<tr class="separator:a37a32ea9c66bae5a644ab6625568ecdd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a88796283202dd686aa9955a34614ad9e"><td class="memItemLeft" align="right" valign="top">virtual const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArClientBase.html#a88796283202dd686aa9955a34614ad9e">getLogPrefix</a> () const </td></tr>
<tr class="memdesc:a88796283202dd686aa9955a34614ad9e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the entire string used to prefix log entries for this client base.  <a href="#a88796283202dd686aa9955a34614ad9e">More...</a><br /></td></tr>
<tr class="separator:a88796283202dd686aa9955a34614ad9e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa62374104cb01052e5edb5517e7de5a0"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArClientBase.html#aa62374104cb01052e5edb5517e7de5a0">getName</a> (<a class="el" href="classArNetPacket.html">ArNetPacket</a> *packet, bool internalCall=false)</td></tr>
<tr class="memdesc:aa62374104cb01052e5edb5517e7de5a0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the name of the data a packet is for.  <a href="#aa62374104cb01052e5edb5517e7de5a0">More...</a><br /></td></tr>
<tr class="separator:aa62374104cb01052e5edb5517e7de5a0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad331af6cfcbc37079d4f1bb283cd509e"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArClientBase.html#ad331af6cfcbc37079d4f1bb283cd509e">getName</a> (unsigned int command, bool internalCall=false)</td></tr>
<tr class="memdesc:ad331af6cfcbc37079d4f1bb283cd509e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the name of the data a command is.  <a href="#ad331af6cfcbc37079d4f1bb283cd509e">More...</a><br /></td></tr>
<tr class="separator:ad331af6cfcbc37079d4f1bb283cd509e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9f5d72f8951f20a3bea6094fcbb9af52"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArClientBase.html#a9f5d72f8951f20a3bea6094fcbb9af52">getPort</a> ()</td></tr>
<tr class="memdesc:a9f5d72f8951f20a3bea6094fcbb9af52"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get port we connected to (only valid if connected)  <a href="#a9f5d72f8951f20a3bea6094fcbb9af52">More...</a><br /></td></tr>
<tr class="separator:a9f5d72f8951f20a3bea6094fcbb9af52"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abebd9b3fd56c9401384876ffae90785a"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArClientBase.html#abebd9b3fd56c9401384876ffae90785a">getReceivedArgRetList</a> (void)</td></tr>
<tr class="memdesc:abebd9b3fd56c9401384876ffae90785a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets if we received the list of arguments and.  <a href="#abebd9b3fd56c9401384876ffae90785a">More...</a><br /></td></tr>
<tr class="separator:abebd9b3fd56c9401384876ffae90785a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9146d03d37cf37f85f52c08db84aae15"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArClientBase.html#a9146d03d37cf37f85f52c08db84aae15">getReceivedDataList</a> (void)</td></tr>
<tr class="memdesc:a9146d03d37cf37f85f52c08db84aae15"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets if we received the list of commands.  <a href="#a9146d03d37cf37f85f52c08db84aae15">More...</a><br /></td></tr>
<tr class="separator:a9146d03d37cf37f85f52c08db84aae15"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad30d595c20eafd7058895b9e41b3998c"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArClientBase.html#ad30d595c20eafd7058895b9e41b3998c">getReceivedGroupAndFlagsList</a> (void)</td></tr>
<tr class="memdesc:ad30d595c20eafd7058895b9e41b3998c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets if we received the list of commands.  <a href="#ad30d595c20eafd7058895b9e41b3998c">More...</a><br /></td></tr>
<tr class="separator:ad30d595c20eafd7058895b9e41b3998c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aee9339f92bffb1d996d79069b50de114"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArClientBase.html#aee9339f92bffb1d996d79069b50de114">getRejected</a> (void)</td></tr>
<tr class="memdesc:aee9339f92bffb1d996d79069b50de114"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tells us the reason the connection was rejected (see <a class="el" href="classArServerCommands.html" title="The commands from the server to the client. ">ArServerCommands</a> for details)  <a href="#aee9339f92bffb1d996d79069b50de114">More...</a><br /></td></tr>
<tr class="separator:aee9339f92bffb1d996d79069b50de114"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a044c843a6a2714e5dfd0548c99db5549"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArClientBase.html#a044c843a6a2714e5dfd0548c99db5549">getRejectedString</a> (void)</td></tr>
<tr class="memdesc:a044c843a6a2714e5dfd0548c99db5549"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tells us the reason the connection was rejected (see <a class="el" href="classArServerCommands.html" title="The commands from the server to the client. ">ArServerCommands</a> for details)  <a href="#a044c843a6a2714e5dfd0548c99db5549">More...</a><br /></td></tr>
<tr class="separator:a044c843a6a2714e5dfd0548c99db5549"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a178422ad8149957fe999e1b510fcb61d"><td class="memItemLeft" align="right" valign="top">virtual const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArClientBase.html#a178422ad8149957fe999e1b510fcb61d">getRobotName</a> () const </td></tr>
<tr class="memdesc:a178422ad8149957fe999e1b510fcb61d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the optional name of the connected robot for debugging purposes.  <a href="#a178422ad8149957fe999e1b510fcb61d">More...</a><br /></td></tr>
<tr class="separator:a178422ad8149957fe999e1b510fcb61d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6db158596a22ebe1c073b2575621c121"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classArClientBase.html#af81d1a763266af658676640386e0bdf0">ClientState</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArClientBase.html#a6db158596a22ebe1c073b2575621c121">getState</a> (void)</td></tr>
<tr class="memdesc:a6db158596a22ebe1c073b2575621c121"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the state of the client connection.  <a href="#a6db158596a22ebe1c073b2575621c121">More...</a><br /></td></tr>
<tr class="separator:a6db158596a22ebe1c073b2575621c121"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a33a8c7986a086a7a9ef2b68145a85d1c"><td class="memItemLeft" align="right" valign="top">struct in_addr *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArClientBase.html#a33a8c7986a086a7a9ef2b68145a85d1c">getTcpAddr</a> (void)</td></tr>
<tr class="memdesc:a33a8c7986a086a7a9ef2b68145a85d1c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Internal function to get the socket (no one should need this)  <a href="#a33a8c7986a086a7a9ef2b68145a85d1c">More...</a><br /></td></tr>
<tr class="separator:a33a8c7986a086a7a9ef2b68145a85d1c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aed41a05522e8226f224b8548ea381bfb"><td class="memItemLeft" align="right" valign="top"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArSocket.html">ArSocket</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArClientBase.html#aed41a05522e8226f224b8548ea381bfb">getTcpSocket</a> (void)</td></tr>
<tr class="memdesc:aed41a05522e8226f224b8548ea381bfb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Internal function to get the tcp socket.  <a href="#aed41a05522e8226f224b8548ea381bfb">More...</a><br /></td></tr>
<tr class="separator:aed41a05522e8226f224b8548ea381bfb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7c413fed28c90c2784d685e44c6cc105"><td class="memItemLeft" align="right" valign="top"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArSocket.html">ArSocket</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArClientBase.html#a7c413fed28c90c2784d685e44c6cc105">getUdpSocket</a> (void)</td></tr>
<tr class="memdesc:a7c413fed28c90c2784d685e44c6cc105"><td class="mdescLeft">&#160;</td><td class="mdescRight">Internal function to get the udp socket.  <a href="#a7c413fed28c90c2784d685e44c6cc105">More...</a><br /></td></tr>
<tr class="separator:a7c413fed28c90c2784d685e44c6cc105"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a75411858f1058ff503f42bbeab88858a"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArClientBase.html#a75411858f1058ff503f42bbeab88858a">internalBlockingConnect</a> (const char *host, int port, bool <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/group__easy.html#gaeb5db5d20c1794795ec0d141ac305aa1">log</a>, const char *user, const char *password, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArSocket.html">ArSocket</a> *tcpSocket, const char *openOnIP=NULL)</td></tr>
<tr class="memdesc:a75411858f1058ff503f42bbeab88858a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Internal function that'll do the connection (mainly for switch connections)  <a href="#a75411858f1058ff503f42bbeab88858a">More...</a><br /></td></tr>
<tr class="separator:a75411858f1058ff503f42bbeab88858a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a39d46ebf1e5e28326fbe60c569f113e0"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classArClientBase.html#a5566cb8173dd4c9ab4bcd3927c6af08f">NonBlockingConnectReturn</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArClientBase.html#a39d46ebf1e5e28326fbe60c569f113e0">internalNonBlockingConnectContinue</a> (void)</td></tr>
<tr class="memdesc:a39d46ebf1e5e28326fbe60c569f113e0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Internal function that'll start the non blocking connection (mainly for switch connections)  <a href="#a39d46ebf1e5e28326fbe60c569f113e0">More...</a><br /></td></tr>
<tr class="separator:a39d46ebf1e5e28326fbe60c569f113e0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4c5b2436e7efbce5f7325e3cafd085d8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classArClientBase.html#a5566cb8173dd4c9ab4bcd3927c6af08f">NonBlockingConnectReturn</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArClientBase.html#a4c5b2436e7efbce5f7325e3cafd085d8">internalNonBlockingConnectStart</a> (const char *host, int port, bool <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/group__easy.html#gaeb5db5d20c1794795ec0d141ac305aa1">log</a>, const char *user, const char *password, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArSocket.html">ArSocket</a> *tcpSocket, const char *openOnIP=NULL)</td></tr>
<tr class="memdesc:a4c5b2436e7efbce5f7325e3cafd085d8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Internal function that'll start the non blocking connection (mainly for switch connections)  <a href="#a4c5b2436e7efbce5f7325e3cafd085d8">More...</a><br /></td></tr>
<tr class="separator:a4c5b2436e7efbce5f7325e3cafd085d8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae496055761ec07b824ceef7e3c6281f8"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArClientBase.html#ae496055761ec07b824ceef7e3c6281f8">isConnected</a> (void)</td></tr>
<tr class="separator:ae496055761ec07b824ceef7e3c6281f8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a59ad77df6c8aad1ff39791a20b122440"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArClientBase.html#a59ad77df6c8aad1ff39791a20b122440">isStopped</a> ()</td></tr>
<tr class="memdesc:a59ad77df6c8aad1ff39791a20b122440"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns whether the client has been stopped (regardless of whether its in its own thread)  <a href="#a59ad77df6c8aad1ff39791a20b122440">More...</a><br /></td></tr>
<tr class="separator:a59ad77df6c8aad1ff39791a20b122440"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae92349fdcb65ff332cd46f6a777d007b"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArClientBase.html#ae92349fdcb65ff332cd46f6a777d007b">isTcpOnlyFromServer</a> (void)</td></tr>
<tr class="memdesc:ae92349fdcb65ff332cd46f6a777d007b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns whether we only get TCP data from the server not UDP.  <a href="#ae92349fdcb65ff332cd46f6a777d007b">More...</a><br /></td></tr>
<tr class="separator:ae92349fdcb65ff332cd46f6a777d007b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a160a0f61ba0dc6b72ef54309fea37cca"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArClientBase.html#a160a0f61ba0dc6b72ef54309fea37cca">isTcpOnlyToServer</a> (void)</td></tr>
<tr class="memdesc:a160a0f61ba0dc6b72ef54309fea37cca"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns whether we only send TCP data to the server.  <a href="#a160a0f61ba0dc6b72ef54309fea37cca">More...</a><br /></td></tr>
<tr class="separator:a160a0f61ba0dc6b72ef54309fea37cca"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad77e87d97528439fb884be5c1f831104"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArClientBase.html#ad77e87d97528439fb884be5c1f831104">logDataList</a> (void)</td></tr>
<tr class="memdesc:ad77e87d97528439fb884be5c1f831104"><td class="mdescLeft">&#160;</td><td class="mdescRight">Print out or data with descriptions.  <a href="#ad77e87d97528439fb884be5c1f831104">More...</a><br /></td></tr>
<tr class="separator:ad77e87d97528439fb884be5c1f831104"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aca6670002abd10af169aab84bd2dd1ad"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArClientBase.html#aca6670002abd10af169aab84bd2dd1ad">logTracking</a> (bool terse)</td></tr>
<tr class="memdesc:aca6670002abd10af169aab84bd2dd1ad"><td class="mdescLeft">&#160;</td><td class="mdescRight">Logs the tracking information (packet and byte counts)  <a href="#aca6670002abd10af169aab84bd2dd1ad">More...</a><br /></td></tr>
<tr class="separator:aca6670002abd10af169aab84bd2dd1ad"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a156525a1b5ca6a26c8b72c48b3c06848"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArClientBase.html#a156525a1b5ca6a26c8b72c48b3c06848">loopOnce</a> (void)</td></tr>
<tr class="memdesc:a156525a1b5ca6a26c8b72c48b3c06848"><td class="mdescLeft">&#160;</td><td class="mdescRight">Run the loop once.  <a href="#a156525a1b5ca6a26c8b72c48b3c06848">More...</a><br /></td></tr>
<tr class="separator:a156525a1b5ca6a26c8b72c48b3c06848"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8f2e8920b136953c0deccb6e3fe3ee73"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArClientBase.html#a8f2e8920b136953c0deccb6e3fe3ee73">processPacket</a> (<a class="el" href="classArNetPacket.html">ArNetPacket</a> *packet, bool tcp)</td></tr>
<tr class="memdesc:a8f2e8920b136953c0deccb6e3fe3ee73"><td class="mdescLeft">&#160;</td><td class="mdescRight">Process the packet wherever it came from.  <a href="#a8f2e8920b136953c0deccb6e3fe3ee73">More...</a><br /></td></tr>
<tr class="separator:a8f2e8920b136953c0deccb6e3fe3ee73"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aace1f3cde948cc76173978a2a4062834"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArClientBase.html#aace1f3cde948cc76173978a2a4062834">processPacketUdp</a> (<a class="el" href="classArNetPacket.html">ArNetPacket</a> *packet, struct sockaddr_in *<a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/group__easy.html#gaeb05754b7747988dd97a961eaded6830">sin</a>)</td></tr>
<tr class="memdesc:aace1f3cde948cc76173978a2a4062834"><td class="mdescLeft">&#160;</td><td class="mdescRight">Process a packet from udp (just hands off to processPacket)  <a href="#aace1f3cde948cc76173978a2a4062834">More...</a><br /></td></tr>
<tr class="separator:aace1f3cde948cc76173978a2a4062834"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a416ab3c98c526e07e0e4140848409d8b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArClientBase.html#a416ab3c98c526e07e0e4140848409d8b">remCycleCallback</a> (<a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArFunctor.html">ArFunctor</a> *functor)</td></tr>
<tr class="memdesc:a416ab3c98c526e07e0e4140848409d8b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Removes a functor called every cycle.  <a href="#a416ab3c98c526e07e0e4140848409d8b">More...</a><br /></td></tr>
<tr class="separator:a416ab3c98c526e07e0e4140848409d8b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7cb696df3e36f4d8258ed0091e553349"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArClientBase.html#a7cb696df3e36f4d8258ed0091e553349">remDisconnectOnErrorCB</a> (<a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArFunctor.html">ArFunctor</a> *functor)</td></tr>
<tr class="memdesc:a7cb696df3e36f4d8258ed0091e553349"><td class="mdescLeft">&#160;</td><td class="mdescRight">Removes a call for when a disconnection has occured because of error.  <a href="#a7cb696df3e36f4d8258ed0091e553349">More...</a><br /></td></tr>
<tr class="separator:a7cb696df3e36f4d8258ed0091e553349"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a904bea3bf052b9a13bba5d81e45f68f9"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArClientBase.html#a904bea3bf052b9a13bba5d81e45f68f9">remHandler</a> (const char *name, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArFunctor1.html">ArFunctor1</a>&lt; <a class="el" href="classArNetPacket.html">ArNetPacket</a> * &gt; *functor)</td></tr>
<tr class="memdesc:a904bea3bf052b9a13bba5d81e45f68f9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Removes a functor for data packets received from the server.  <a href="#a904bea3bf052b9a13bba5d81e45f68f9">More...</a><br /></td></tr>
<tr class="separator:a904bea3bf052b9a13bba5d81e45f68f9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2399734098ee84b0b344644e76fc07d6"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArClientBase.html#a2399734098ee84b0b344644e76fc07d6">remServerShutdownCB</a> (<a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArFunctor.html">ArFunctor</a> *functor)</td></tr>
<tr class="memdesc:a2399734098ee84b0b344644e76fc07d6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Removes a call for when the server shuts down.  <a href="#a2399734098ee84b0b344644e76fc07d6">More...</a><br /></td></tr>
<tr class="separator:a2399734098ee84b0b344644e76fc07d6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0a36a40fe2598eb214368ae8c3a26ca1"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArClientBase.html#a0a36a40fe2598eb214368ae8c3a26ca1">request</a> (const char *name, long mSec, <a class="el" href="classArNetPacket.html">ArNetPacket</a> *packet=NULL)</td></tr>
<tr class="memdesc:a0a36a40fe2598eb214368ae8c3a26ca1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Request some data every <em>mSec</em> milliseconds.  <a href="#a0a36a40fe2598eb214368ae8c3a26ca1">More...</a><br /></td></tr>
<tr class="separator:a0a36a40fe2598eb214368ae8c3a26ca1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6dcbb42038ccfa79e85c45a89aa6df0b"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArClientBase.html#a6dcbb42038ccfa79e85c45a89aa6df0b">requestByCommand</a> (unsigned int command, long mSec, <a class="el" href="classArNetPacket.html">ArNetPacket</a> *packet=NULL)</td></tr>
<tr class="memdesc:a6dcbb42038ccfa79e85c45a89aa6df0b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Request some data every mSec milliseconds by command not name.  <a href="#a6dcbb42038ccfa79e85c45a89aa6df0b">More...</a><br /></td></tr>
<tr class="separator:a6dcbb42038ccfa79e85c45a89aa6df0b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2dcd11daf8d2045d460b83733e6932d0"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArClientBase.html#a2dcd11daf8d2045d460b83733e6932d0">requestOnce</a> (const char *name, <a class="el" href="classArNetPacket.html">ArNetPacket</a> *packet=NULL, bool quiet=false)</td></tr>
<tr class="memdesc:a2dcd11daf8d2045d460b83733e6932d0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Request some data (or send a command) just once.  <a href="#a2dcd11daf8d2045d460b83733e6932d0">More...</a><br /></td></tr>
<tr class="separator:a2dcd11daf8d2045d460b83733e6932d0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a952ba6e629abdb7d01eabc247ca6cd4d"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArClientBase.html#a952ba6e629abdb7d01eabc247ca6cd4d">requestOnceByCommand</a> (unsigned int command, <a class="el" href="classArNetPacket.html">ArNetPacket</a> *packet=NULL)</td></tr>
<tr class="memdesc:a952ba6e629abdb7d01eabc247ca6cd4d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Request some data (or send a command) just once by command not name.  <a href="#a952ba6e629abdb7d01eabc247ca6cd4d">More...</a><br /></td></tr>
<tr class="separator:a952ba6e629abdb7d01eabc247ca6cd4d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa45eea17535cde2664a071c0591f534a"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArClientBase.html#aa45eea17535cde2664a071c0591f534a">requestOnceByCommandUdp</a> (unsigned int command, <a class="el" href="classArNetPacket.html">ArNetPacket</a> *packet=NULL)</td></tr>
<tr class="memdesc:aa45eea17535cde2664a071c0591f534a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Request some data (or send a command) just once by command not name.  <a href="#aa45eea17535cde2664a071c0591f534a">More...</a><br /></td></tr>
<tr class="separator:aa45eea17535cde2664a071c0591f534a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab7e431bdf19aa838576c7928302efe67"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArClientBase.html#ab7e431bdf19aa838576c7928302efe67">requestOnceUdp</a> (const char *name, <a class="el" href="classArNetPacket.html">ArNetPacket</a> *packet=NULL, bool quiet=false)</td></tr>
<tr class="memdesc:ab7e431bdf19aa838576c7928302efe67"><td class="mdescLeft">&#160;</td><td class="mdescRight">Request some data (or send a command) just once by UDP.  <a href="#ab7e431bdf19aa838576c7928302efe67">More...</a><br /></td></tr>
<tr class="separator:ab7e431bdf19aa838576c7928302efe67"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a972cebefaa57d709158b5b0d2c459d0f"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArClientBase.html#a972cebefaa57d709158b5b0d2c459d0f">requestOnceWithDouble</a> (const char *name, double val)</td></tr>
<tr class="memdesc:a972cebefaa57d709158b5b0d2c459d0f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Request some data or send a command once with a double value as an argument.  <a href="#a972cebefaa57d709158b5b0d2c459d0f">More...</a><br /></td></tr>
<tr class="separator:a972cebefaa57d709158b5b0d2c459d0f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad70a1f142b30a08ab54a02146a4c2005"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArClientBase.html#ad70a1f142b30a08ab54a02146a4c2005">requestOnceWithInt16</a> (const char *name, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArTypes.html#aff7daca3c28eeaacc95b1ac07997661c">ArTypes::Byte2</a> val)</td></tr>
<tr class="memdesc:ad70a1f142b30a08ab54a02146a4c2005"><td class="mdescLeft">&#160;</td><td class="mdescRight">Request some data or send a command once with a 16-bit (2-byte) integer value as an argument.  <a href="#ad70a1f142b30a08ab54a02146a4c2005">More...</a><br /></td></tr>
<tr class="separator:ad70a1f142b30a08ab54a02146a4c2005"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a539a9fd371bade04042cf48191afd674"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArClientBase.html#a539a9fd371bade04042cf48191afd674">requestOnceWithInt32</a> (const char *name, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArTypes.html#aa9febccb890f2a2d72c3b88d2ab08855">ArTypes::Byte4</a> val)</td></tr>
<tr class="memdesc:a539a9fd371bade04042cf48191afd674"><td class="mdescLeft">&#160;</td><td class="mdescRight">Request some data or send a command once with a 32-bit (4-byte) integer value as an argument.  <a href="#a539a9fd371bade04042cf48191afd674">More...</a><br /></td></tr>
<tr class="separator:a539a9fd371bade04042cf48191afd674"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3b3783c386707050eb83287cb53dd07b"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArClientBase.html#a3b3783c386707050eb83287cb53dd07b">requestOnceWithString</a> (const char *name, const char *str)</td></tr>
<tr class="memdesc:a3b3783c386707050eb83287cb53dd07b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Request some data or send a command once with a string as argument.  <a href="#a3b3783c386707050eb83287cb53dd07b">More...</a><br /></td></tr>
<tr class="separator:a3b3783c386707050eb83287cb53dd07b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aee1400e28ba15f18c032ea7f3b414cfd"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArClientBase.html#aee1400e28ba15f18c032ea7f3b414cfd">requestStop</a> (const char *name)</td></tr>
<tr class="memdesc:aee1400e28ba15f18c032ea7f3b414cfd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Don't want this data anymore.  <a href="#aee1400e28ba15f18c032ea7f3b414cfd">More...</a><br /></td></tr>
<tr class="separator:aee1400e28ba15f18c032ea7f3b414cfd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a993ac794e3e3df2a401a155600596ae8"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArClientBase.html#a993ac794e3e3df2a401a155600596ae8">requestStopByCommand</a> (unsigned int command)</td></tr>
<tr class="memdesc:a993ac794e3e3df2a401a155600596ae8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Don't want this data anymore, by command not name.  <a href="#a993ac794e3e3df2a401a155600596ae8">More...</a><br /></td></tr>
<tr class="separator:a993ac794e3e3df2a401a155600596ae8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4ed44a6f3835bd41e4aff334b4dbf764"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArClientBase.html#a4ed44a6f3835bd41e4aff334b4dbf764">resetTracking</a> (void)</td></tr>
<tr class="memdesc:a4ed44a6f3835bd41e4aff334b4dbf764"><td class="mdescLeft">&#160;</td><td class="mdescRight">Clears the tracking information (resets counters)  <a href="#a4ed44a6f3835bd41e4aff334b4dbf764">More...</a><br /></td></tr>
<tr class="separator:a4ed44a6f3835bd41e4aff334b4dbf764"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a012118e5e43ee6e75f9d56ad5fbf2b7b"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArClientBase.html#a012118e5e43ee6e75f9d56ad5fbf2b7b">run</a> (void)</td></tr>
<tr class="memdesc:a012118e5e43ee6e75f9d56ad5fbf2b7b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Runs the client in this thread.  <a href="#a012118e5e43ee6e75f9d56ad5fbf2b7b">More...</a><br /></td></tr>
<tr class="separator:a012118e5e43ee6e75f9d56ad5fbf2b7b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a778c406a8eda15109afda20521acf502"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArClientBase.html#a778c406a8eda15109afda20521acf502">runAsync</a> (void)</td></tr>
<tr class="memdesc:a778c406a8eda15109afda20521acf502"><td class="mdescLeft">&#160;</td><td class="mdescRight">Runs the client in its own thread.  <a href="#a778c406a8eda15109afda20521acf502">More...</a><br /></td></tr>
<tr class="separator:a778c406a8eda15109afda20521acf502"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aee8cd490ba2ce7dcd483aeb97179b39b"><td class="memItemLeft" align="right" valign="top">virtual void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArClientBase.html#aee8cd490ba2ce7dcd483aeb97179b39b">runThread</a> (void *arg)</td></tr>
<tr class="separator:aee8cd490ba2ce7dcd483aeb97179b39b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad0c16dee93dd68923309ccad6ab79128"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArClientBase.html#ad0c16dee93dd68923309ccad6ab79128">sendPacketTcp</a> (<a class="el" href="classArNetPacket.html">ArNetPacket</a> *packet)</td></tr>
<tr class="memdesc:ad0c16dee93dd68923309ccad6ab79128"><td class="mdescLeft">&#160;</td><td class="mdescRight">Send a packet over TCP.  <a href="#ad0c16dee93dd68923309ccad6ab79128">More...</a><br /></td></tr>
<tr class="separator:ad0c16dee93dd68923309ccad6ab79128"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adff0830f1f877067d90261cecf887414"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArClientBase.html#adff0830f1f877067d90261cecf887414">sendPacketUdp</a> (<a class="el" href="classArNetPacket.html">ArNetPacket</a> *packet)</td></tr>
<tr class="memdesc:adff0830f1f877067d90261cecf887414"><td class="mdescLeft">&#160;</td><td class="mdescRight">Send a packet over UDP (unless client only wants tcp then sends over tcp)  <a href="#adff0830f1f877067d90261cecf887414">More...</a><br /></td></tr>
<tr class="separator:adff0830f1f877067d90261cecf887414"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a11ed13bd851b342af904fc7c6695ff6e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArClientBase.html#a11ed13bd851b342af904fc7c6695ff6e">setBackupTimeout</a> (double timeoutInMins)</td></tr>
<tr class="memdesc:a11ed13bd851b342af904fc7c6695ff6e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the backup timeout.  <a href="#a11ed13bd851b342af904fc7c6695ff6e">More...</a><br /></td></tr>
<tr class="separator:a11ed13bd851b342af904fc7c6695ff6e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a751949cbde124628fa536b7a63244224"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArClientBase.html#a751949cbde124628fa536b7a63244224">setConnectTimeoutTime</a> (int sec)</td></tr>
<tr class="memdesc:a751949cbde124628fa536b7a63244224"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the time to allow for connection (default 3)  <a href="#a751949cbde124628fa536b7a63244224">More...</a><br /></td></tr>
<tr class="separator:a751949cbde124628fa536b7a63244224"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9d362e67fded3e8c36f120663c7f66cd"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArClientBase.html#a9d362e67fded3e8c36f120663c7f66cd">setRobotName</a> (const char *name, bool debugLogging=false, int robotId=0)</td></tr>
<tr class="memdesc:a9d362e67fded3e8c36f120663c7f66cd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the optional name of the connected robot for debugging purposes.  <a href="#a9d362e67fded3e8c36f120663c7f66cd">More...</a><br /></td></tr>
<tr class="separator:a9d362e67fded3e8c36f120663c7f66cd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acbf0dcf0eff41a3fed3bc4971a610a1e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArClientBase.html#acbf0dcf0eff41a3fed3bc4971a610a1e">setServerKey</a> (const char *serverKey, bool <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/group__easy.html#gaeb5db5d20c1794795ec0d141ac305aa1">log</a>=true)</td></tr>
<tr class="memdesc:acbf0dcf0eff41a3fed3bc4971a610a1e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the 'key' needed to connect to the server.  <a href="#acbf0dcf0eff41a3fed3bc4971a610a1e">More...</a><br /></td></tr>
<tr class="separator:acbf0dcf0eff41a3fed3bc4971a610a1e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3d2b633b8180dec697d87733d891f5ab"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArClientBase.html#a3d2b633b8180dec697d87733d891f5ab">setTcpOnlyFromServer</a> (void)</td></tr>
<tr class="memdesc:a3d2b633b8180dec697d87733d891f5ab"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets it so we only get TCP data from the server not UDP.  <a href="#a3d2b633b8180dec697d87733d891f5ab">More...</a><br /></td></tr>
<tr class="separator:a3d2b633b8180dec697d87733d891f5ab"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a561fed6b6fa30c67318d17173abeeef8"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArClientBase.html#a561fed6b6fa30c67318d17173abeeef8">setTcpOnlyToServer</a> (void)</td></tr>
<tr class="memdesc:a561fed6b6fa30c67318d17173abeeef8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets it so we only send TCP data to the server.  <a href="#a561fed6b6fa30c67318d17173abeeef8">More...</a><br /></td></tr>
<tr class="separator:a561fed6b6fa30c67318d17173abeeef8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9e5670ac90c62d0c156bfa47a50743f2"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArClientBase.html#a9e5670ac90c62d0c156bfa47a50743f2">startNonBlockingDisconnect</a> ()</td></tr>
<tr class="memdesc:a9e5670ac90c62d0c156bfa47a50743f2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Starts the process of disconnecting from the server.  <a href="#a9e5670ac90c62d0c156bfa47a50743f2">More...</a><br /></td></tr>
<tr class="separator:a9e5670ac90c62d0c156bfa47a50743f2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2b1aad5de83d6e9f04fd00d9bd943465"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArClientBase.html#a2b1aad5de83d6e9f04fd00d9bd943465">stopRunning</a> (void)</td></tr>
<tr class="memdesc:a2b1aad5de83d6e9f04fd00d9bd943465"><td class="mdescLeft">&#160;</td><td class="mdescRight">Stops the thread and sets the stopped flag.  <a href="#a2b1aad5de83d6e9f04fd00d9bd943465">More...</a><br /></td></tr>
<tr class="separator:a2b1aad5de83d6e9f04fd00d9bd943465"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac8c0a3fa78872df34204b9a1aca53ddd"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArClientBase.html#ac8c0a3fa78872df34204b9a1aca53ddd">wasRejected</a> (void)</td></tr>
<tr class="separator:ac8c0a3fa78872df34204b9a1aca53ddd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aabd8d349c5ab2432da4f70bccbbaa40d"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArClientBase.html#aabd8d349c5ab2432da4f70bccbbaa40d">~ArClientBase</a> ()</td></tr>
<tr class="memdesc:aabd8d349c5ab2432da4f70bccbbaa40d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destructor.  <a href="#aabd8d349c5ab2432da4f70bccbbaa40d">More...</a><br /></td></tr>
<tr class="separator:aabd8d349c5ab2432da4f70bccbbaa40d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classArASyncTask"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classArASyncTask')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="../../docs/classArASyncTask.html">ArASyncTask</a></td></tr>
<tr class="memitem:a2f8d322b93edf16edd3253692e130480 inherit pub_methods_classArASyncTask"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArASyncTask.html#a2f8d322b93edf16edd3253692e130480">ArASyncTask</a> ()</td></tr>
<tr class="separator:a2f8d322b93edf16edd3253692e130480 inherit pub_methods_classArASyncTask"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1219f8fc48adfc07ab59ea414585c479 inherit pub_methods_classArASyncTask"><td class="memItemLeft" align="right" valign="top">virtual int&#160;</td><td class="memItemRight" valign="bottom"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArASyncTask.html#a1219f8fc48adfc07ab59ea414585c479">create</a> (bool joinable=true, bool lowerPriority=true)</td></tr>
<tr class="separator:a1219f8fc48adfc07ab59ea414585c479 inherit pub_methods_classArASyncTask"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acd6307214f0bfdcd9f1c89664b2a7ad1 inherit pub_methods_classArASyncTask"><td class="memItemLeft" align="right" valign="top">virtual const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArASyncTask.html#acd6307214f0bfdcd9f1c89664b2a7ad1">getThreadActivity</a> (void)</td></tr>
<tr class="separator:acd6307214f0bfdcd9f1c89664b2a7ad1 inherit pub_methods_classArASyncTask"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab1b9692583669e973fcb70fe843e556f inherit pub_methods_classArASyncTask"><td class="memItemLeft" align="right" valign="top">virtual void *&#160;</td><td class="memItemRight" valign="bottom"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArASyncTask.html#ab1b9692583669e973fcb70fe843e556f">runInThisThread</a> (void *arg=0)</td></tr>
<tr class="separator:ab1b9692583669e973fcb70fe843e556f inherit pub_methods_classArASyncTask"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9a7a9aafc788b3a03fbaf71a87e1ee44 inherit pub_methods_classArASyncTask"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArASyncTask.html#a9a7a9aafc788b3a03fbaf71a87e1ee44">~ArASyncTask</a> ()</td></tr>
<tr class="separator:a9a7a9aafc788b3a03fbaf71a87e1ee44 inherit pub_methods_classArASyncTask"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classArThread"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classArThread')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="../../docs/classArThread.html">ArThread</a></td></tr>
<tr class="memitem:af6646fdb41042a80a0d54c778d1af3d9 inherit pub_methods_classArThread"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArThread.html#af6646fdb41042a80a0d54c778d1af3d9">ArThread</a> (bool blockAllSignals=true)</td></tr>
<tr class="separator:af6646fdb41042a80a0d54c778d1af3d9 inherit pub_methods_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aff21160d49a502bfc018d0e2126959aa inherit pub_methods_classArThread"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArThread.html#aff21160d49a502bfc018d0e2126959aa">ArThread</a> (ThreadType thread, bool joinable, bool blockAllSignals=true)</td></tr>
<tr class="separator:aff21160d49a502bfc018d0e2126959aa inherit pub_methods_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a08068bcc611a53074d8999a5622f2289 inherit pub_methods_classArThread"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArThread.html#a08068bcc611a53074d8999a5622f2289">ArThread</a> (<a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArFunctor.html">ArFunctor</a> *func, bool joinable=true, bool blockAllSignals=true)</td></tr>
<tr class="separator:a08068bcc611a53074d8999a5622f2289 inherit pub_methods_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9f5c6ddc088c46736ce2e698a5ae3050 inherit pub_methods_classArThread"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArThread.html#a9f5c6ddc088c46736ce2e698a5ae3050">cancel</a> (void)</td></tr>
<tr class="separator:a9f5c6ddc088c46736ce2e698a5ae3050 inherit pub_methods_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aefba216adf9aa5144c79bdfbd8978cbd inherit pub_methods_classArThread"><td class="memItemLeft" align="right" valign="top">virtual int&#160;</td><td class="memItemRight" valign="bottom"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArThread.html#aefba216adf9aa5144c79bdfbd8978cbd">create</a> (<a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArFunctor.html">ArFunctor</a> *func, bool joinable=true, bool lowerPriority=true)</td></tr>
<tr class="separator:aefba216adf9aa5144c79bdfbd8978cbd inherit pub_methods_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a70f8c5e5a01c432f8e5722487b11b9aa inherit pub_methods_classArThread"><td class="memItemLeft" align="right" valign="top">virtual int&#160;</td><td class="memItemRight" valign="bottom"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArThread.html#a70f8c5e5a01c432f8e5722487b11b9aa">detach</a> (void)</td></tr>
<tr class="separator:a70f8c5e5a01c432f8e5722487b11b9aa inherit pub_methods_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa8dc1c54a7c07dc2affdef031a74833e inherit pub_methods_classArThread"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArThread.html#aa8dc1c54a7c07dc2affdef031a74833e">getBlockAllSignals</a> (void)</td></tr>
<tr class="separator:aa8dc1c54a7c07dc2affdef031a74833e inherit pub_methods_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acb7ba63e4e43e85f47ff9429de88c599 inherit pub_methods_classArThread"><td class="memItemLeft" align="right" valign="top">virtual <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArFunctor.html">ArFunctor</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArThread.html#acb7ba63e4e43e85f47ff9429de88c599">getFunc</a> (void) const </td></tr>
<tr class="separator:acb7ba63e4e43e85f47ff9429de88c599 inherit pub_methods_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a48d0856b755e8950d820d71fd097fb0d inherit pub_methods_classArThread"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArThread.html#a48d0856b755e8950d820d71fd097fb0d">getJoinable</a> (void) const </td></tr>
<tr class="separator:a48d0856b755e8950d820d71fd097fb0d inherit pub_methods_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad57f4235fd1f9092f55aaec52a57068f inherit pub_methods_classArThread"><td class="memItemLeft" align="right" valign="top">virtual ThreadType&#160;</td><td class="memItemRight" valign="bottom"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArThread.html#ad57f4235fd1f9092f55aaec52a57068f">getOSThread</a> (void) const </td></tr>
<tr class="separator:ad57f4235fd1f9092f55aaec52a57068f inherit pub_methods_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a544461d5afc9a1f1d50398ef06f55743 inherit pub_methods_classArThread"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArThread.html#a544461d5afc9a1f1d50398ef06f55743">getRunning</a> (void) const </td></tr>
<tr class="separator:a544461d5afc9a1f1d50398ef06f55743 inherit pub_methods_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a05333f5f05022f42ab46a6dd8a8f1958 inherit pub_methods_classArThread"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArThread.html#a05333f5f05022f42ab46a6dd8a8f1958">getRunningWithLock</a> (void)</td></tr>
<tr class="separator:a05333f5f05022f42ab46a6dd8a8f1958 inherit pub_methods_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1f17f4a7f59d8e14399e03ee405380be inherit pub_methods_classArThread"><td class="memItemLeft" align="right" valign="top">virtual const ThreadType *&#160;</td><td class="memItemRight" valign="bottom"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArThread.html#a1f17f4a7f59d8e14399e03ee405380be">getThread</a> (void) const </td></tr>
<tr class="separator:a1f17f4a7f59d8e14399e03ee405380be inherit pub_methods_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af3c3543b2749dccd4e94e96fad418780 inherit pub_methods_classArThread"><td class="memItemLeft" align="right" valign="top">virtual const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArThread.html#af3c3543b2749dccd4e94e96fad418780">getThreadName</a> (void)</td></tr>
<tr class="separator:af3c3543b2749dccd4e94e96fad418780 inherit pub_methods_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af5868982670b17f27aab0bbbf0749cb6 inherit pub_methods_classArThread"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArThread.html#af5868982670b17f27aab0bbbf0749cb6">isThreadFinished</a> () const </td></tr>
<tr class="separator:af5868982670b17f27aab0bbbf0749cb6 inherit pub_methods_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a38dd0b805242f8144e14c0662eeee37c inherit pub_methods_classArThread"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArThread.html#a38dd0b805242f8144e14c0662eeee37c">isThreadStarted</a> () const </td></tr>
<tr class="separator:a38dd0b805242f8144e14c0662eeee37c inherit pub_methods_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4351291f1146bdbc385fc000dfda37a3 inherit pub_methods_classArThread"><td class="memItemLeft" align="right" valign="top">virtual int&#160;</td><td class="memItemRight" valign="bottom"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArThread.html#a4351291f1146bdbc385fc000dfda37a3">join</a> (void **r=NULL)</td></tr>
<tr class="separator:a4351291f1146bdbc385fc000dfda37a3 inherit pub_methods_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0fa936e087d49e5151cb3cc1358ae1ce inherit pub_methods_classArThread"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArThread.html#a0fa936e087d49e5151cb3cc1358ae1ce">lock</a> (void)</td></tr>
<tr class="separator:a0fa936e087d49e5151cb3cc1358ae1ce inherit pub_methods_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac971ee8ad4b23a5d87e6f0db02062cde inherit pub_methods_classArThread"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArThread.html#ac971ee8ad4b23a5d87e6f0db02062cde">logThreadInfo</a> (void)</td></tr>
<tr class="separator:ac971ee8ad4b23a5d87e6f0db02062cde inherit pub_methods_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6eb9bbbff1f1494a4218be4551c28073 inherit pub_methods_classArThread"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArThread.html#a6eb9bbbff1f1494a4218be4551c28073">setRunning</a> (bool running)</td></tr>
<tr class="separator:a6eb9bbbff1f1494a4218be4551c28073 inherit pub_methods_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af03075fb22fbfca1212d524f772f6c1c inherit pub_methods_classArThread"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArThread.html#af03075fb22fbfca1212d524f772f6c1c">setThreadName</a> (const char *name)</td></tr>
<tr class="separator:af03075fb22fbfca1212d524f772f6c1c inherit pub_methods_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a718af06ca33f467f714a46f059e2455b inherit pub_methods_classArThread"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArThread.html#a718af06ca33f467f714a46f059e2455b">threadFinished</a> (void)</td></tr>
<tr class="separator:a718af06ca33f467f714a46f059e2455b inherit pub_methods_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2cec8be019396610a5ba10b6ffcd819e inherit pub_methods_classArThread"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArThread.html#a2cec8be019396610a5ba10b6ffcd819e">threadStarted</a> (void)</td></tr>
<tr class="separator:a2cec8be019396610a5ba10b6ffcd819e inherit pub_methods_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aeefc89261e7760985b91566029fc9c6c inherit pub_methods_classArThread"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArThread.html#aeefc89261e7760985b91566029fc9c6c">tryLock</a> (void)</td></tr>
<tr class="separator:aeefc89261e7760985b91566029fc9c6c inherit pub_methods_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa95ba7294af22e4be13215f39de61b38 inherit pub_methods_classArThread"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArThread.html#aa95ba7294af22e4be13215f39de61b38">unlock</a> (void)</td></tr>
<tr class="separator:aa95ba7294af22e4be13215f39de61b38 inherit pub_methods_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a02c1f44d7adb2b9524f0fc410158b554 inherit pub_methods_classArThread"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArThread.html#a02c1f44d7adb2b9524f0fc410158b554">~ArThread</a> ()</td></tr>
<tr class="separator:a02c1f44d7adb2b9524f0fc410158b554 inherit pub_methods_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-types"></a>
Protected Types</h2></td></tr>
<tr class="memitem:a35dcde5f344eaa074ca8f9d24f8eff98"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArClientBase.html#a35dcde5f344eaa074ca8f9d24f8eff98">NonBlockingConnectState</a> { <a class="el" href="classArClientBase.html#a35dcde5f344eaa074ca8f9d24f8eff98acfa60790190c56dbc6ac2c6d6a28b9e6">NON_BLOCKING_STATE_NONE</a>, 
<a class="el" href="classArClientBase.html#a35dcde5f344eaa074ca8f9d24f8eff98a4d7debec8a6eb594197dd7e8bd923df5">NON_BLOCKING_STATE_TCP</a>, 
<a class="el" href="classArClientBase.html#a35dcde5f344eaa074ca8f9d24f8eff98aad33312bd96237d4ac9921ab1e7f1609">NON_BLOCKING_STATE_UDP</a>
 }</td></tr>
<tr class="separator:a35dcde5f344eaa074ca8f9d24f8eff98"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr class="memitem:a0cd5721a220ebddad72fd9fd5f38a276"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArClientBase.html#a0cd5721a220ebddad72fd9fd5f38a276">buildList</a> (<a class="el" href="classArNetPacket.html">ArNetPacket</a> *packet)</td></tr>
<tr class="separator:a0cd5721a220ebddad72fd9fd5f38a276"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acadc0bdb42259b3d7ad76cd942f2c660"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArClientBase.html#acadc0bdb42259b3d7ad76cd942f2c660">clear</a> (void)</td></tr>
<tr class="separator:acadc0bdb42259b3d7ad76cd942f2c660"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4ff058a24b4b23152753340e3a99bc77"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArClientBase.html#a4ff058a24b4b23152753340e3a99bc77">internalConnect</a> (const char *host, int port, bool obsolete, const char *openOnIP)</td></tr>
<tr class="separator:a4ff058a24b4b23152753340e3a99bc77"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a30a0d249eb8828a2a0146d1e05914fca"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArClientBase.html#a30a0d249eb8828a2a0146d1e05914fca">internalStartUdp</a> (void)</td></tr>
<tr class="separator:a30a0d249eb8828a2a0146d1e05914fca"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7e9cfee673d111e2eee718651639522d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArClientBase.html#a7e9cfee673d111e2eee718651639522d">internalSwitchState</a> (<a class="el" href="classArClientBase.html#af81d1a763266af658676640386e0bdf0">ClientState</a> state)</td></tr>
<tr class="separator:a7e9cfee673d111e2eee718651639522d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac7d01b56aa8db363c7025400e85a0bb9"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArClientBase.html#ac7d01b56aa8db363c7025400e85a0bb9">setupPacket</a> (<a class="el" href="classArNetPacket.html">ArNetPacket</a> *packet)</td></tr>
<tr class="separator:ac7d01b56aa8db363c7025400e85a0bb9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a224e4e8b41c1d4d9da67e2de8a56d49a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArClientBase.html#a224e4e8b41c1d4d9da67e2de8a56d49a">trackPacketReceived</a> (<a class="el" href="classArNetPacket.html">ArNetPacket</a> *packet, bool tcp)</td></tr>
<tr class="separator:a224e4e8b41c1d4d9da67e2de8a56d49a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa320dbc731f8743c3467659112f5b74f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArClientBase.html#aa320dbc731f8743c3467659112f5b74f">trackPacketSent</a> (<a class="el" href="classArNetPacket.html">ArNetPacket</a> *packet, bool tcp)</td></tr>
<tr class="separator:aa320dbc731f8743c3467659112f5b74f"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-attribs"></a>
Protected Attributes</h2></td></tr>
<tr class="memitem:a82a153519de1ab3beda199a10566a54b"><td class="memItemLeft" align="right" valign="top">long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArClientBase.html#a82a153519de1ab3beda199a10566a54b">myAuthKey</a></td></tr>
<tr class="separator:a82a153519de1ab3beda199a10566a54b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9540349440d421ac8c66e92eae6bd4cc"><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArClientBase.html#a9540349440d421ac8c66e92eae6bd4cc">myBackupTimeout</a></td></tr>
<tr class="separator:a9540349440d421ac8c66e92eae6bd4cc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a26aec14fcfa968c58608fa3fb4795e6b"><td class="memItemLeft" align="right" valign="top"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html">ArMutex</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArClientBase.html#a26aec14fcfa968c58608fa3fb4795e6b">myCallbackMutex</a></td></tr>
<tr class="separator:a26aec14fcfa968c58608fa3fb4795e6b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9887e654d54ea17a6894cd7015c8c3e8"><td class="memItemLeft" align="right" valign="top">unsigned char&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArClientBase.html#a9887e654d54ea17a6894cd7015c8c3e8">myClientKey</a> [16]</td></tr>
<tr class="separator:a9887e654d54ea17a6894cd7015c8c3e8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab3bd610ffcb2946b2e012528588d86c3"><td class="memItemLeft" align="right" valign="top"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html">ArMutex</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArClientBase.html#ab3bd610ffcb2946b2e012528588d86c3">myClientMutex</a></td></tr>
<tr class="separator:ab3bd610ffcb2946b2e012528588d86c3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2924e0901556e5f2d23a79bc65e511ad"><td class="memItemLeft" align="right" valign="top"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html">ArMutex</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArClientBase.html#a2924e0901556e5f2d23a79bc65e511ad">myCycleCallbackMutex</a></td></tr>
<tr class="separator:a2924e0901556e5f2d23a79bc65e511ad"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad5109d7fc5c4a6927b6553982b7e9072"><td class="memItemLeft" align="right" valign="top">std::list&lt; <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArFunctor.html">ArFunctor</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArClientBase.html#ad5109d7fc5c4a6927b6553982b7e9072">myCycleCallbacks</a></td></tr>
<tr class="separator:ad5109d7fc5c4a6927b6553982b7e9072"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad6d34b3b54e4134bc84d573994cb2b25"><td class="memItemLeft" align="right" valign="top"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html">ArMutex</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArClientBase.html#ad6d34b3b54e4134bc84d573994cb2b25">myDataMutex</a></td></tr>
<tr class="separator:ad6d34b3b54e4134bc84d573994cb2b25"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a71b57a82dd96c0e3ac7666c758f530b0"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArClientBase.html#a71b57a82dd96c0e3ac7666c758f530b0">myDebugLogging</a></td></tr>
<tr class="separator:a71b57a82dd96c0e3ac7666c758f530b0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa1dc82e053c0d07c8f7e2e72427c0d05"><td class="memItemLeft" align="right" valign="top">std::list&lt; <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArFunctor.html">ArFunctor</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArClientBase.html#aa1dc82e053c0d07c8f7e2e72427c0d05">myDisconnectOnErrorCBList</a></td></tr>
<tr class="separator:aa1dc82e053c0d07c8f7e2e72427c0d05"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a67c70a563ba8c2b9647c46efedb4cbca"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArClientBase.html#a67c70a563ba8c2b9647c46efedb4cbca">myDisconnectSoon</a></td></tr>
<tr class="separator:a67c70a563ba8c2b9647c46efedb4cbca"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a84e12313e6af619d030a56a22e273e32"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArClientBase.html#a84e12313e6af619d030a56a22e273e32">myEnforceProtocolVersion</a></td></tr>
<tr class="memdesc:a84e12313e6af619d030a56a22e273e32"><td class="mdescLeft">&#160;</td><td class="mdescRight">If we're enforcing the version of the protocol or not.  <a href="#a84e12313e6af619d030a56a22e273e32">More...</a><br /></td></tr>
<tr class="separator:a84e12313e6af619d030a56a22e273e32"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac81adf0af148c10fa7319073ed427555"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classArServerCommands.html#a17e8a1248f23b0f1dde4606af34b0efd">ArServerCommands::Type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArClientBase.html#ac81adf0af148c10fa7319073ed427555">myEnforceType</a></td></tr>
<tr class="memdesc:ac81adf0af148c10fa7319073ed427555"><td class="mdescLeft">&#160;</td><td class="mdescRight">if we're a particular type  <a href="#ac81adf0af148c10fa7319073ed427555">More...</a><br /></td></tr>
<tr class="separator:ac81adf0af148c10fa7319073ed427555"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad388500910d17f967ffb9457b1995710"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArClientBase.html#ad388500910d17f967ffb9457b1995710">myHost</a></td></tr>
<tr class="separator:ad388500910d17f967ffb9457b1995710"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae37c5791539ed084a5a8b459c92a7be8"><td class="memItemLeft" align="right" valign="top">std::map&lt; unsigned int, <a class="el" href="classArClientData.html">ArClientData</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArClientBase.html#ae37c5791539ed084a5a8b459c92a7be8">myIntDataMap</a></td></tr>
<tr class="separator:ae37c5791539ed084a5a8b459c92a7be8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa735c53da737bf2e1ae589a479ca8ff8"><td class="memItemLeft" align="right" valign="top">long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArClientBase.html#aa735c53da737bf2e1ae589a479ca8ff8">myIntroKey</a></td></tr>
<tr class="separator:aa735c53da737bf2e1ae589a479ca8ff8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5f8ce7801ef44a2c6c30a3098ce776c2"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArClientBase.html#a5f8ce7801ef44a2c6c30a3098ce776c2">myIsRunningAsync</a></td></tr>
<tr class="separator:a5f8ce7801ef44a2c6c30a3098ce776c2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a24be0a8138698517e0c4b5610e6011cf"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArClientBase.html#a24be0a8138698517e0c4b5610e6011cf">myIsStartedDisconnect</a></td></tr>
<tr class="separator:a24be0a8138698517e0c4b5610e6011cf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac729f4394ce040e212dfe5bdc3a4b5a1"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArClientBase.html#ac729f4394ce040e212dfe5bdc3a4b5a1">myIsStopped</a></td></tr>
<tr class="separator:ac729f4394ce040e212dfe5bdc3a4b5a1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a419ab787b6173c92134534a31f3a27f8"><td class="memItemLeft" align="right" valign="top"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArTime.html">ArTime</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArClientBase.html#a419ab787b6173c92134534a31f3a27f8">myLastPacketReceived</a></td></tr>
<tr class="separator:a419ab787b6173c92134534a31f3a27f8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a94b7d7d35ec4ddbea9658b53e76f47e0"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArClientBase.html#a94b7d7d35ec4ddbea9658b53e76f47e0">myLogPrefix</a></td></tr>
<tr class="memdesc:a94b7d7d35ec4ddbea9658b53e76f47e0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Optional prefix to be inserted at the start of log messages.  <a href="#a94b7d7d35ec4ddbea9658b53e76f47e0">More...</a><br /></td></tr>
<tr class="separator:a94b7d7d35ec4ddbea9658b53e76f47e0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3bbfee4c097f63baeb3738c623b780e5"><td class="memItemLeft" align="right" valign="top"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html">ArMutex</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArClientBase.html#a3bbfee4c097f63baeb3738c623b780e5">myMapsMutex</a></td></tr>
<tr class="separator:a3bbfee4c097f63baeb3738c623b780e5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a38d4ea57619c2a87f91e4d6f5e33d649"><td class="memItemLeft" align="right" valign="top">std::map&lt; std::string, unsigned int &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArClientBase.html#a38d4ea57619c2a87f91e4d6f5e33d649">myNameIntMap</a></td></tr>
<tr class="separator:a38d4ea57619c2a87f91e4d6f5e33d649"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae6749c53f5e6e667a9e7012159a2868d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classArClientBase.html#a35dcde5f344eaa074ca8f9d24f8eff98">NonBlockingConnectState</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArClientBase.html#ae6749c53f5e6e667a9e7012159a2868d">myNonBlockingConnectState</a></td></tr>
<tr class="separator:ae6749c53f5e6e667a9e7012159a2868d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4e41f28eb10c31de5febd1f7def2db22"><td class="memItemLeft" align="right" valign="top"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html">ArMutex</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArClientBase.html#a4e41f28eb10c31de5febd1f7def2db22">myPacketTrackingMutex</a></td></tr>
<tr class="separator:a4e41f28eb10c31de5febd1f7def2db22"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acad6369b983172d3092c65def1a36edc"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArClientBase.html#acad6369b983172d3092c65def1a36edc">myPassword</a></td></tr>
<tr class="separator:acad6369b983172d3092c65def1a36edc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1486b59cf86991bc2d34c975146d7294"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArClientBase.html#a1486b59cf86991bc2d34c975146d7294">myPort</a></td></tr>
<tr class="separator:a1486b59cf86991bc2d34c975146d7294"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa338beb2b2542ab9fe95bb4bc5d4a26e"><td class="memItemLeft" align="right" valign="top"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArFunctor2C.html">ArFunctor2C</a>&lt; <a class="el" href="classArClientBase.html">ArClientBase</a>, <a class="el" href="classArNetPacket.html">ArNetPacket</a> *, bool &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArClientBase.html#aa338beb2b2542ab9fe95bb4bc5d4a26e">myProcessPacketCB</a></td></tr>
<tr class="separator:aa338beb2b2542ab9fe95bb4bc5d4a26e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a04c61af74d790add44bae254b66e6966"><td class="memItemLeft" align="right" valign="top"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArFunctor2C.html">ArFunctor2C</a>&lt; <a class="el" href="classArClientBase.html">ArClientBase</a>, <a class="el" href="classArNetPacket.html">ArNetPacket</a> *, struct sockaddr_in * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArClientBase.html#a04c61af74d790add44bae254b66e6966">myProcessPacketUdpCB</a></td></tr>
<tr class="separator:a04c61af74d790add44bae254b66e6966"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af4a14693fd1eb0990ca77adc1532d3f3"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArClientBase.html#af4a14693fd1eb0990ca77adc1532d3f3">myQuiet</a></td></tr>
<tr class="separator:af4a14693fd1eb0990ca77adc1532d3f3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac805cbd85a200f4713bb94e54584b93c"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArClientBase.html#ac805cbd85a200f4713bb94e54584b93c">myReceivedArgRetList</a></td></tr>
<tr class="separator:ac805cbd85a200f4713bb94e54584b93c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5eca54c62e701db104bb3af157b52ef8"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArClientBase.html#a5eca54c62e701db104bb3af157b52ef8">myReceivedDataList</a></td></tr>
<tr class="separator:a5eca54c62e701db104bb3af157b52ef8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a128ae2c9e65cd83f1f1fd9d892468593"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArClientBase.html#a128ae2c9e65cd83f1f1fd9d892468593">myReceivedGroupAndFlagsList</a></td></tr>
<tr class="separator:a128ae2c9e65cd83f1f1fd9d892468593"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aad304ef6d6ee6d3db028cf7dfa97abde"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArClientBase.html#aad304ef6d6ee6d3db028cf7dfa97abde">myRejected</a></td></tr>
<tr class="separator:aad304ef6d6ee6d3db028cf7dfa97abde"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac52be180c68d85b81d82b8c383d8c233"><td class="memItemLeft" align="right" valign="top">char&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArClientBase.html#ac52be180c68d85b81d82b8c383d8c233">myRejectedString</a> [32000]</td></tr>
<tr class="separator:ac52be180c68d85b81d82b8c383d8c233"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1675297fdb1923c0b6169e5ceed0b7c6"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArClientBase.html#a1675297fdb1923c0b6169e5ceed0b7c6">myRobotName</a></td></tr>
<tr class="memdesc:a1675297fdb1923c0b6169e5ceed0b7c6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Optional robot name for logging.  <a href="#a1675297fdb1923c0b6169e5ceed0b7c6">More...</a><br /></td></tr>
<tr class="separator:a1675297fdb1923c0b6169e5ceed0b7c6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab5b19584383ece79fa760dae172f3466"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArClientBase.html#ab5b19584383ece79fa760dae172f3466">myServerKey</a></td></tr>
<tr class="separator:ab5b19584383ece79fa760dae172f3466"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a660354779ada598954acd34d2a1b7ff9"><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArClientBase.html#a660354779ada598954acd34d2a1b7ff9">myServerReportedUdpPort</a></td></tr>
<tr class="separator:a660354779ada598954acd34d2a1b7ff9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a05d94f4b686c809825915198da528090"><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArClientBase.html#a05d94f4b686c809825915198da528090">myServerSentUdpPort</a></td></tr>
<tr class="separator:a05d94f4b686c809825915198da528090"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a59b030f44d90b166254cf2380a2c6ea3"><td class="memItemLeft" align="right" valign="top">std::list&lt; <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArFunctor.html">ArFunctor</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArClientBase.html#a59b030f44d90b166254cf2380a2c6ea3">myServerShutdownCBList</a></td></tr>
<tr class="separator:a59b030f44d90b166254cf2380a2c6ea3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac548a76a6b8c7dd4791b3db9333e30f8"><td class="memItemLeft" align="right" valign="top"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArTime.html">ArTime</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArClientBase.html#ac548a76a6b8c7dd4791b3db9333e30f8">myStartedConnection</a></td></tr>
<tr class="separator:ac548a76a6b8c7dd4791b3db9333e30f8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac98cd4dcfb34a75fc15a1af6a40bde5e"><td class="memItemLeft" align="right" valign="top"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArTime.html">ArTime</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArClientBase.html#ac98cd4dcfb34a75fc15a1af6a40bde5e">myStartedShutdown</a></td></tr>
<tr class="separator:ac98cd4dcfb34a75fc15a1af6a40bde5e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8cb9be4e9e2155a66cd2e83529ddba40"><td class="memItemLeft" align="right" valign="top"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArTime.html">ArTime</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArClientBase.html#a8cb9be4e9e2155a66cd2e83529ddba40">myStartedUdpConnection</a></td></tr>
<tr class="separator:a8cb9be4e9e2155a66cd2e83529ddba40"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a996c8c096a233ef3ed71583e5bc5dd58"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classArClientBase.html#af81d1a763266af658676640386e0bdf0">ClientState</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArClientBase.html#a996c8c096a233ef3ed71583e5bc5dd58">myState</a></td></tr>
<tr class="separator:a996c8c096a233ef3ed71583e5bc5dd58"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ace0f6e26d49138b8007757eb98001a33"><td class="memItemLeft" align="right" valign="top"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html">ArMutex</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArClientBase.html#ace0f6e26d49138b8007757eb98001a33">myStateMutex</a></td></tr>
<tr class="separator:ace0f6e26d49138b8007757eb98001a33"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afc4cde2222c3c322f6f0d1bd29e17db8"><td class="memItemLeft" align="right" valign="top"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArTime.html">ArTime</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArClientBase.html#afc4cde2222c3c322f6f0d1bd29e17db8">myStateStarted</a></td></tr>
<tr class="separator:afc4cde2222c3c322f6f0d1bd29e17db8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8fde37a425ee2ca259ab2da147b6ee64"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArClientBase.html#a8fde37a425ee2ca259ab2da147b6ee64">myTcpOnlyFrom</a></td></tr>
<tr class="separator:a8fde37a425ee2ca259ab2da147b6ee64"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa9d969c1c88c9059cd0c1787be74389c"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArClientBase.html#aa9d969c1c88c9059cd0c1787be74389c">myTcpOnlyTo</a></td></tr>
<tr class="separator:aa9d969c1c88c9059cd0c1787be74389c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aee35e95e56e2dceea4ea7cbd10ae955d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classArNetPacketReceiverTcp.html">ArNetPacketReceiverTcp</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArClientBase.html#aee35e95e56e2dceea4ea7cbd10ae955d">myTcpReceiver</a></td></tr>
<tr class="separator:aee35e95e56e2dceea4ea7cbd10ae955d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5a526727ba3eb1e0c1575cca1c30cfcb"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classArNetPacketSenderTcp.html">ArNetPacketSenderTcp</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArClientBase.html#a5a526727ba3eb1e0c1575cca1c30cfcb">myTcpSender</a></td></tr>
<tr class="separator:a5a526727ba3eb1e0c1575cca1c30cfcb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a24f77b01dff93fc5f6748bad64eb96d9"><td class="memItemLeft" align="right" valign="top"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArSocket.html">ArSocket</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArClientBase.html#a24f77b01dff93fc5f6748bad64eb96d9">myTcpSocket</a></td></tr>
<tr class="separator:a24f77b01dff93fc5f6748bad64eb96d9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8add18e6bd5dc78350c19e63b2e31acb"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArClientBase.html#a8add18e6bd5dc78350c19e63b2e31acb">myTimeoutTime</a></td></tr>
<tr class="separator:a8add18e6bd5dc78350c19e63b2e31acb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af017397076e2430f561932b59f49a76c"><td class="memItemLeft" align="right" valign="top">std::map&lt; unsigned int, <a class="el" href="classArClientBase_1_1Tracker.html">Tracker</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArClientBase.html#af017397076e2430f561932b59f49a76c">myTrackingReceivedMap</a></td></tr>
<tr class="separator:af017397076e2430f561932b59f49a76c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae1244558b7f208180a016abe882a58ab"><td class="memItemLeft" align="right" valign="top">std::map&lt; unsigned int, <a class="el" href="classArClientBase_1_1Tracker.html">Tracker</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArClientBase.html#ae1244558b7f208180a016abe882a58ab">myTrackingSentMap</a></td></tr>
<tr class="separator:ae1244558b7f208180a016abe882a58ab"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac09ba48db8d5b575c6d8b5588a102f86"><td class="memItemLeft" align="right" valign="top"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArTime.html">ArTime</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArClientBase.html#ac09ba48db8d5b575c6d8b5588a102f86">myTrackingStarted</a></td></tr>
<tr class="separator:ac09ba48db8d5b575c6d8b5588a102f86"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5c2cf4efb62aebe7add51bff09b438f4"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArClientBase.html#a5c2cf4efb62aebe7add51bff09b438f4">myUdpConfirmedFrom</a></td></tr>
<tr class="separator:a5c2cf4efb62aebe7add51bff09b438f4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5b8dea940f32699d25610fba6c5a8f63"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArClientBase.html#a5b8dea940f32699d25610fba6c5a8f63">myUdpConfirmedTo</a></td></tr>
<tr class="separator:a5b8dea940f32699d25610fba6c5a8f63"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1d239b09ee5bcf5e23ad2b011e343ce5"><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArClientBase.html#a1d239b09ee5bcf5e23ad2b011e343ce5">myUdpPort</a></td></tr>
<tr class="separator:a1d239b09ee5bcf5e23ad2b011e343ce5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab7b5b068d808f92ddae2d5d6502dfa1d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classArNetPacketReceiverUdp.html">ArNetPacketReceiverUdp</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArClientBase.html#ab7b5b068d808f92ddae2d5d6502dfa1d">myUdpReceiver</a></td></tr>
<tr class="separator:ab7b5b068d808f92ddae2d5d6502dfa1d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8e3638c3cf9c52be7059922a1f8e950d"><td class="memItemLeft" align="right" valign="top">struct sockaddr_in&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArClientBase.html#a8e3638c3cf9c52be7059922a1f8e950d">myUdpSin</a></td></tr>
<tr class="separator:a8e3638c3cf9c52be7059922a1f8e950d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6106915f3057a6e1434a7fbc483b9598"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArClientBase.html#a6106915f3057a6e1434a7fbc483b9598">myUdpSinValid</a></td></tr>
<tr class="separator:a6106915f3057a6e1434a7fbc483b9598"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae89e9630b0e0de6a4b1d5ed7dfd9a78b"><td class="memItemLeft" align="right" valign="top"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArSocket.html">ArSocket</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArClientBase.html#ae89e9630b0e0de6a4b1d5ed7dfd9a78b">myUdpSocket</a></td></tr>
<tr class="separator:ae89e9630b0e0de6a4b1d5ed7dfd9a78b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a61e3d4646c2785d2582c1b19fdd514f3"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArClientBase.html#a61e3d4646c2785d2582c1b19fdd514f3">myUser</a></td></tr>
<tr class="separator:a61e3d4646c2785d2582c1b19fdd514f3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae4efc14ab439bbdfb50650242215c4b7"><td class="memItemLeft" align="right" valign="top"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#ac8cc0fb3aa323ab2a1c21340fdd1dce3">ArLog::LogLevel</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArClientBase.html#ae4efc14ab439bbdfb50650242215c4b7">myVerboseLogLevel</a></td></tr>
<tr class="separator:ae4efc14ab439bbdfb50650242215c4b7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pro_attribs_classArThread"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_classArThread')"><img src="closed.png" alt="-"/>&#160;Protected Attributes inherited from <a class="el" href="../../docs/classArThread.html">ArThread</a></td></tr>
<tr class="memitem:a38947d1e811cabefda057a5da123539a inherit pro_attribs_classArThread"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArThread.html#a38947d1e811cabefda057a5da123539a">myRunning</a></td></tr>
<tr class="separator:a38947d1e811cabefda057a5da123539a inherit pro_attribs_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
Additional Inherited Members</h2></td></tr>
<tr class="inherit_header pub_static_methods_classArThread"><td colspan="2" onclick="javascript:toggleInherit('pub_static_methods_classArThread')"><img src="closed.png" alt="-"/>&#160;Static Public Member Functions inherited from <a class="el" href="../../docs/classArThread.html">ArThread</a></td></tr>
<tr class="memitem:ae90c377080eb22ecd565617fbde986dc inherit pub_static_methods_classArThread"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArThread.html#ae90c377080eb22ecd565617fbde986dc">cancelAll</a> (void)</td></tr>
<tr class="separator:ae90c377080eb22ecd565617fbde986dc inherit pub_static_methods_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae730b583d5a313dd2d0b28a55b831e10 inherit pub_static_methods_classArThread"><td class="memItemLeft" align="right" valign="top">static <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#ac8cc0fb3aa323ab2a1c21340fdd1dce3">ArLog::LogLevel</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArThread.html#ae730b583d5a313dd2d0b28a55b831e10">getLogLevel</a> (void)</td></tr>
<tr class="separator:ae730b583d5a313dd2d0b28a55b831e10 inherit pub_static_methods_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3f22bf6798bbb1f559d0fcb2dd340fe1 inherit pub_static_methods_classArThread"><td class="memItemLeft" align="right" valign="top">static ThreadType&#160;</td><td class="memItemRight" valign="bottom"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArThread.html#a3f22bf6798bbb1f559d0fcb2dd340fe1">getThisOSThread</a> (void)</td></tr>
<tr class="separator:a3f22bf6798bbb1f559d0fcb2dd340fe1 inherit pub_static_methods_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5f07974eaa1f04b40e7e29281063ae32 inherit pub_static_methods_classArThread"><td class="memItemLeft" align="right" valign="top">static const ThreadType *&#160;</td><td class="memItemRight" valign="bottom"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArThread.html#a5f07974eaa1f04b40e7e29281063ae32">getThisThread</a> (void)</td></tr>
<tr class="separator:a5f07974eaa1f04b40e7e29281063ae32 inherit pub_static_methods_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2070e4319d8a11cb025fbeb0fdb36ade inherit pub_static_methods_classArThread"><td class="memItemLeft" align="right" valign="top">static const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArThread.html#a2070e4319d8a11cb025fbeb0fdb36ade">getThisThreadName</a> (void)</td></tr>
<tr class="separator:a2070e4319d8a11cb025fbeb0fdb36ade inherit pub_static_methods_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a602608b819fd0d206ece3e7108e897c1 inherit pub_static_methods_classArThread"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArThread.html#a602608b819fd0d206ece3e7108e897c1">init</a> (void)</td></tr>
<tr class="separator:a602608b819fd0d206ece3e7108e897c1 inherit pub_static_methods_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a669ea48142e11e67465cd389be8608db inherit pub_static_methods_classArThread"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArThread.html#a669ea48142e11e67465cd389be8608db">joinAll</a> (void)</td></tr>
<tr class="separator:a669ea48142e11e67465cd389be8608db inherit pub_static_methods_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3deec9c656a29d1a9f33dc52ca05afa9 inherit pub_static_methods_classArThread"><td class="memItemLeft" align="right" valign="top">static ThreadType&#160;</td><td class="memItemRight" valign="bottom"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArThread.html#a3deec9c656a29d1a9f33dc52ca05afa9">osSelf</a> (void)</td></tr>
<tr class="separator:a3deec9c656a29d1a9f33dc52ca05afa9 inherit pub_static_methods_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a94f5c62be5ea634a63645b09d24618ea inherit pub_static_methods_classArThread"><td class="memItemLeft" align="right" valign="top">static <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArThread.html">ArThread</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArThread.html#a94f5c62be5ea634a63645b09d24618ea">self</a> (void)</td></tr>
<tr class="separator:a94f5c62be5ea634a63645b09d24618ea inherit pub_static_methods_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa8bdbdb6a182a26b083577d341d73025 inherit pub_static_methods_classArThread"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArThread.html#aa8bdbdb6a182a26b083577d341d73025">setLogLevel</a> (<a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#ac8cc0fb3aa323ab2a1c21340fdd1dce3">ArLog::LogLevel</a> level)</td></tr>
<tr class="separator:aa8bdbdb6a182a26b083577d341d73025 inherit pub_static_methods_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adceb0c14e9674056fc637c95142fdfad inherit pub_static_methods_classArThread"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArThread.html#adceb0c14e9674056fc637c95142fdfad">shutdown</a> ()</td></tr>
<tr class="separator:adceb0c14e9674056fc637c95142fdfad inherit pub_static_methods_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aeed26f3e82c2f329d8b7286b0c59a75d inherit pub_static_methods_classArThread"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArThread.html#aeed26f3e82c2f329d8b7286b0c59a75d">stopAll</a> ()</td></tr>
<tr class="separator:aeed26f3e82c2f329d8b7286b0c59a75d inherit pub_static_methods_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a16d8ee7da5d5ebc2540e38ca1ce2eeb2 inherit pub_static_methods_classArThread"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArThread.html#a16d8ee7da5d5ebc2540e38ca1ce2eeb2">yieldProcessor</a> (void)</td></tr>
<tr class="separator:a16d8ee7da5d5ebc2540e38ca1ce2eeb2 inherit pub_static_methods_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_attribs_classArThread"><td colspan="2" onclick="javascript:toggleInherit('pub_attribs_classArThread')"><img src="closed.png" alt="-"/>&#160;Public Attributes inherited from <a class="el" href="../../docs/classArThread.html">ArThread</a></td></tr>
<tr class="memitem:af6d126a960a5af55f2ab3e05233e8b53ac31e3677374b5ae653026a3be95c6274 inherit pub_attribs_classArThread"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArThread.html#af6d126a960a5af55f2ab3e05233e8b53ac31e3677374b5ae653026a3be95c6274">STATUS_ALREADY_DETATCHED</a></td></tr>
<tr class="separator:af6d126a960a5af55f2ab3e05233e8b53ac31e3677374b5ae653026a3be95c6274 inherit pub_attribs_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af6d126a960a5af55f2ab3e05233e8b53acc18d305d0eccadd2588c4b42f5f94b5 inherit pub_attribs_classArThread"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArThread.html#af6d126a960a5af55f2ab3e05233e8b53acc18d305d0eccadd2588c4b42f5f94b5">STATUS_FAILED</a></td></tr>
<tr class="separator:af6d126a960a5af55f2ab3e05233e8b53acc18d305d0eccadd2588c4b42f5f94b5 inherit pub_attribs_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af6d126a960a5af55f2ab3e05233e8b53a8cabd345d26c252559a993ba7d4db196 inherit pub_attribs_classArThread"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArThread.html#af6d126a960a5af55f2ab3e05233e8b53a8cabd345d26c252559a993ba7d4db196">STATUS_INVALID</a></td></tr>
<tr class="separator:af6d126a960a5af55f2ab3e05233e8b53a8cabd345d26c252559a993ba7d4db196 inherit pub_attribs_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af6d126a960a5af55f2ab3e05233e8b53aa12716ae2e87670197b81ece3dbca9ea inherit pub_attribs_classArThread"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArThread.html#af6d126a960a5af55f2ab3e05233e8b53aa12716ae2e87670197b81ece3dbca9ea">STATUS_JOIN_SELF</a></td></tr>
<tr class="separator:af6d126a960a5af55f2ab3e05233e8b53aa12716ae2e87670197b81ece3dbca9ea inherit pub_attribs_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af6d126a960a5af55f2ab3e05233e8b53afb6a6a19ac7e5eae84ca230f90a577c1 inherit pub_attribs_classArThread"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArThread.html#af6d126a960a5af55f2ab3e05233e8b53afb6a6a19ac7e5eae84ca230f90a577c1">STATUS_NO_SUCH_THREAD</a></td></tr>
<tr class="separator:af6d126a960a5af55f2ab3e05233e8b53afb6a6a19ac7e5eae84ca230f90a577c1 inherit pub_attribs_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af6d126a960a5af55f2ab3e05233e8b53a3a691b0c508247f05b57fdcdf26bcbcf inherit pub_attribs_classArThread"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArThread.html#af6d126a960a5af55f2ab3e05233e8b53a3a691b0c508247f05b57fdcdf26bcbcf">STATUS_NORESOURCE</a></td></tr>
<tr class="separator:af6d126a960a5af55f2ab3e05233e8b53a3a691b0c508247f05b57fdcdf26bcbcf inherit pub_attribs_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>The base client class. </p>
<p>You need to connect a client to a server using <a class="el" href="classArClientBase.html#aafda00e4b6b85c5ddbfd55d54575e441" title="Connect to a server. ">blockingConnect()</a> with the address for the server. Then you should add handlers to the client to receive information from the server (with <a class="el" href="classArClientBase.html#af75610dd7e91d98097de1b252d0bacd5" title="Adds a callback functor for data packets received from the server. ">addHandler()</a>, <a class="el" href="classArClientBase.html#a0a36a40fe2598eb214368ae8c3a26ca1" title="Request some data every mSec milliseconds. ">request()</a>, and <a class="el" href="classArClientBase.html#a2dcd11daf8d2045d460b83733e6932d0" title="Request some data (or send a command) just once. ">requestOnce()</a>). Then call <a class="el" href="classArClientBase.html#a012118e5e43ee6e75f9d56ad5fbf2b7b" title="Runs the client in this thread. ">run()</a> or <a class="el" href="classArClientBase.html#a778c406a8eda15109afda20521acf502" title="Runs the client in its own thread. ">runAsync()</a> to begin processing communications. You can also add a callback that will get called every cycle of the client.</p>
<p>User and password information may be required by the server. For details on that see <a class="el" href="classArServerBase.html" title="Base server for all networking services. ">ArServerBase</a>. The most important thing is the modification to <a class="el" href="classArClientBase.html#aafda00e4b6b85c5ddbfd55d54575e441" title="Connect to a server. ">blockingConnect()</a>, it can now take a user and password argument and upon failure you'll want to check <a class="el" href="classArClientBase.html#ac8c0a3fa78872df34204b9a1aca53ddd">wasRejected()</a> to determine whether the client couldn't find the server or if the user and password were rejected. Another relevant function is <a class="el" href="classArClientBase.html#acbf0dcf0eff41a3fed3bc4971a610a1e" title="Sets the &#39;key&#39; needed to connect to the server. ">setServerKey()</a> to set the key (string of text) we need to connect to the server.</p>
<p>This class is threadsafe for access and does not need locking to call accessor methods. However, when run in a new thread using <a class="el" href="classArClientBase.html#a778c406a8eda15109afda20521acf502" title="Runs the client in its own thread. ">runAsync()</a>, any cycle callbacks added with <a class="el" href="classArClientBase.html#a927e8816c53d7c3c0244cf1d8ad6f68b" title="Adds a functor to call every cycle. ">addCycleCallback()</a>, and any data handlers added by <a class="el" href="classArClientBase.html#af75610dd7e91d98097de1b252d0bacd5" title="Adds a callback functor for data packets received from the server. ">addHandler()</a>, will be called from that thread, and mutexes or other synchronization methods may be needed for those callback functions to interact with other threads. For example, if your data handler callback function stores some data received in a variable, and a different thread in the application will also be reading the data from that variable, a mutex or other synchronization technique should be used to prevent simultaneous access to that variable. </p>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="getVideoExample_8cpp-example.html#_a32">getVideoExample.cpp</a>, <a class="el" href="ptzCameraClientExample_8cpp-example.html#_a2">ptzCameraClientExample.cpp</a>, and <a class="el" href="robotUpdateExample_8cpp-example.html#_a3">robotUpdateExample.cpp</a>.</dd>
</dl></div><h2 class="groupheader">Member Enumeration Documentation</h2>
<a class="anchor" id="a307d45f7ff6432775c9f6a6be2a46b9c"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">anonymous enum</td>
        </tr>
      </table>
</div><div class="memdoc">
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="a307d45f7ff6432775c9f6a6be2a46b9cafa66f83897cf6fac0c909e409984730a"></a>CLIENT_KEY_LENGTH&#160;</td><td class="fielddoc">
</td></tr>
</table>

</div>
</div>
<a class="anchor" id="af81d1a763266af658676640386e0bdf0"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="classArClientBase.html#af81d1a763266af658676640386e0bdf0">ArClientBase::ClientState</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>The state of the connection. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="af81d1a763266af658676640386e0bdf0a2dc9a243a788b28855a2120ff03d91c1"></a>STATE_NO_CONNECTION&#160;</td><td class="fielddoc">
<p>The client has not connected. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="af81d1a763266af658676640386e0bdf0a68d3d360258b80db85e7b0eb2220e7e4"></a>STATE_FAILED_CONNECTION&#160;</td><td class="fielddoc">
<p>The client tried to connect and failed. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="af81d1a763266af658676640386e0bdf0ae8788d50c4490a33e2d1d1532913001f"></a>STATE_OPENED_SOCKET&#160;</td><td class="fielddoc">
<p>Client opened socket, waiting for intro from srvr. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="af81d1a763266af658676640386e0bdf0a2d6dea49e2382d59c9ef98685f1e8e2b"></a>STATE_EXCHANGED_INTROS&#160;</td><td class="fielddoc">
<p>Client and server have exchanged introductions. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="af81d1a763266af658676640386e0bdf0a02f2e7a7258afdcb09500599fce5e34a"></a>STATE_REJECTED&#160;</td><td class="fielddoc">
<p>Client was rejected by server. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="af81d1a763266af658676640386e0bdf0ae2760604361ba1d0263e9ad255afdc79"></a>STATE_WAITING_LIST&#160;</td><td class="fielddoc">
<p>Client was connected to server, waiting for list. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="af81d1a763266af658676640386e0bdf0ae25062edaf7738d1b4bb46824fecb562"></a>STATE_CONNECTED&#160;</td><td class="fielddoc">
<p>Client is connected to server. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="af81d1a763266af658676640386e0bdf0a00a87398679ccc603667d8df5863f528"></a>STATE_LOST_CONNECTION&#160;</td><td class="fielddoc">
<p>Client lost connection to server. </p>
</td></tr>
</table>

</div>
</div>
<a class="anchor" id="a5566cb8173dd4c9ab4bcd3927c6af08f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="classArClientBase.html#a5566cb8173dd4c9ab4bcd3927c6af08f">ArClientBase::NonBlockingConnectReturn</a></td>
        </tr>
      </table>
</div><div class="memdoc">
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="a5566cb8173dd4c9ab4bcd3927c6af08fa5247a113a022404af73587ada6251d55"></a>NON_BLOCKING_CONTINUE&#160;</td><td class="fielddoc">
<p>Client didn't connect or fail to connect yet. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="a5566cb8173dd4c9ab4bcd3927c6af08fab549562d74947d93718d2e84d26c83e2"></a>NON_BLOCKING_CONNECTED&#160;</td><td class="fielddoc">
<p>Client connected. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="a5566cb8173dd4c9ab4bcd3927c6af08fa33c6c425717634c2e0988d8ed09cc5a1"></a>NON_BLOCKING_FAILED&#160;</td><td class="fielddoc">
<p>Client couldn't connect. </p>
</td></tr>
</table>

</div>
</div>
<a class="anchor" id="a35dcde5f344eaa074ca8f9d24f8eff98"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="classArClientBase.html#a35dcde5f344eaa074ca8f9d24f8eff98">ArClientBase::NonBlockingConnectState</a></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="a35dcde5f344eaa074ca8f9d24f8eff98acfa60790190c56dbc6ac2c6d6a28b9e6"></a>NON_BLOCKING_STATE_NONE&#160;</td><td class="fielddoc">
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="a35dcde5f344eaa074ca8f9d24f8eff98a4d7debec8a6eb594197dd7e8bd923df5"></a>NON_BLOCKING_STATE_TCP&#160;</td><td class="fielddoc">
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="a35dcde5f344eaa074ca8f9d24f8eff98aad33312bd96237d4ac9921ab1e7f1609"></a>NON_BLOCKING_STATE_UDP&#160;</td><td class="fielddoc">
</td></tr>
</table>

</div>
</div>
<h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="ab2cf2d19c6da6490fe4c04554a7f31b2"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">ArClientBase::ArClientBase </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Constructor. </p>

<p>References <a class="el" href="classArClientBase.html#acadc0bdb42259b3d7ad76cd942f2c660">clear()</a>, <a class="el" href="classArClientBase.html#a26aec14fcfa968c58608fa3fb4795e6b">myCallbackMutex</a>, <a class="el" href="classArClientBase.html#ab3bd610ffcb2946b2e012528588d86c3">myClientMutex</a>, <a class="el" href="classArClientBase.html#a2924e0901556e5f2d23a79bc65e511ad">myCycleCallbackMutex</a>, <a class="el" href="classArClientBase.html#ad6d34b3b54e4134bc84d573994cb2b25">myDataMutex</a>, <a class="el" href="classArClientBase.html#a71b57a82dd96c0e3ac7666c758f530b0">myDebugLogging</a>, <a class="el" href="classArClientBase.html#ac81adf0af148c10fa7319073ed427555">myEnforceType</a>, <a class="el" href="classArClientBase.html#a3bbfee4c097f63baeb3738c623b780e5">myMapsMutex</a>, <a class="el" href="classArClientBase.html#ae6749c53f5e6e667a9e7012159a2868d">myNonBlockingConnectState</a>, <a class="el" href="classArClientBase.html#a4e41f28eb10c31de5febd1f7def2db22">myPacketTrackingMutex</a>, <a class="el" href="classArClientBase.html#aa338beb2b2542ab9fe95bb4bc5d4a26e">myProcessPacketCB</a>, <a class="el" href="classArClientBase.html#a04c61af74d790add44bae254b66e6966">myProcessPacketUdpCB</a>, <a class="el" href="classArClientBase.html#ace0f6e26d49138b8007757eb98001a33">myStateMutex</a>, <a class="el" href="classArClientBase.html#aee35e95e56e2dceea4ea7cbd10ae955d">myTcpReceiver</a>, <a class="el" href="classArClientBase.html#a5a526727ba3eb1e0c1575cca1c30cfcb">myTcpSender</a>, <a class="el" href="classArClientBase.html#a24f77b01dff93fc5f6748bad64eb96d9">myTcpSocket</a>, <a class="el" href="classArClientBase.html#ab7b5b068d808f92ddae2d5d6502dfa1d">myUdpReceiver</a>, <a class="el" href="classArClientBase.html#ae89e9630b0e0de6a4b1d5ed7dfd9a78b">myUdpSocket</a>, <a class="el" href="classArClientBase.html#ae4efc14ab439bbdfb50650242215c4b7">myVerboseLogLevel</a>, <a class="el" href="classArClientBase.html#a35dcde5f344eaa074ca8f9d24f8eff98acfa60790190c56dbc6ac2c6d6a28b9e6">NON_BLOCKING_STATE_NONE</a>, <a class="el" href="classArNetPacketSenderTcp.html#ae51c539c7bedb05ab96a34ba510a0c81">ArNetPacketSenderTcp::setDebugLogging()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html#a00069ede1325b6f9f500ef2636858262">ArMutex::setLogName()</a>, <a class="el" href="classArNetPacketReceiverUdp.html#a7d5fdeacc3d99e7a946902ed63cd8058">ArNetPacketReceiverUdp::setProcessPacketCB()</a>, <a class="el" href="classArNetPacketReceiverTcp.html#aabb2ee9ad00fed3d6d2057634f2813a1">ArNetPacketReceiverTcp::setProcessPacketCB()</a>, <a class="el" href="classArClientBase.html#a9d362e67fded3e8c36f120663c7f66cd">setRobotName()</a>, <a class="el" href="classArNetPacketSenderTcp.html#aeb1e44978ebb575bd84afd59f8e954be">ArNetPacketSenderTcp::setSocket()</a>, <a class="el" href="classArNetPacketReceiverUdp.html#a202be8f46bb9a7e04465a417aeefd941">ArNetPacketReceiverUdp::setSocket()</a>, <a class="el" href="classArNetPacketReceiverTcp.html#a886818db9c10cdc4e43e946f7239b325">ArNetPacketReceiverTcp::setSocket()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArThread.html#af03075fb22fbfca1212d524f772f6c1c">ArThread::setThreadName()</a>, <a class="el" href="classArServerCommands.html#a17e8a1248f23b0f1dde4606af34b0efdaebd1dc6f46009b607589b0ea2cea27c5">ArServerCommands::TYPE_UNSPECIFIED</a>, and <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#ac8cc0fb3aa323ab2a1c21340fdd1dce3a6e80d09c67dad73e9ba736e91ec893be">ArLog::Verbose</a>.</p>

</div>
</div>
<a class="anchor" id="aabd8d349c5ab2432da4f70bccbbaa40d"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">ArClientBase::~ArClientBase </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Destructor. </p>

<p>References <a class="el" href="classArClientBase.html#acadc0bdb42259b3d7ad76cd942f2c660">clear()</a>.</p>

</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="a927e8816c53d7c3c0244cf1d8ad6f68b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ArClientBase::addCycleCallback </td>
          <td>(</td>
          <td class="paramtype"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArFunctor.html">ArFunctor</a> *&#160;</td>
          <td class="paramname"><em>functor</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Adds a functor to call every cycle. </p>
<p>cycleCallbacks are called every cycle, and are in no particular order, since all they should do is send packets, never any processing</p>
<p>You cannot add a cycle callback from within a cycle or it will deadlock </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">functor</td><td>callback to add </td></tr>
  </table>
  </dd>
</dl>

<p>References <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html#a7b6aee74872c19fb8829d96dc3e52f34">ArMutex::lock()</a>, <a class="el" href="classArClientBase.html#a2924e0901556e5f2d23a79bc65e511ad">myCycleCallbackMutex</a>, <a class="el" href="classArClientBase.html#ad5109d7fc5c4a6927b6553982b7e9072">myCycleCallbacks</a>, and <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html#afb51b5514a9456f23441e479fe58fb46">ArMutex::unlock()</a>.</p>

<p>Referenced by <a class="el" href="classArClientRatioDrive.html#a19e32862948ddd6aa6222f735f7dd4df">ArClientRatioDrive::ArClientRatioDrive()</a>, <a class="el" href="classArHybridForwarderVideo.html#ac4c93743ac228ef81562d2d163b6e2f8">ArHybridForwarderVideo::finishConstructor()</a>, and <a class="el" href="classArClientBase.html#a9f5d72f8951f20a3bea6094fcbb9af52">getPort()</a>.</p>

</div>
</div>
<a class="anchor" id="ad3e597486ac95414f45f45a5b4bece8b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ArClientBase::addDisconnectOnErrorCB </td>
          <td>(</td>
          <td class="paramtype"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArFunctor.html">ArFunctor</a> *&#160;</td>
          <td class="paramname"><em>functor</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArListPos.html#adb42d52c70a646c5698c5513cd25bbd0">ArListPos::Pos</a>&#160;</td>
          <td class="paramname"><em>position</em> = <code><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArListPos.html#adb42d52c70a646c5698c5513cd25bbd0a3c55111fa6c7f63c41fc0b387f5b57d9">ArListPos::LAST</a></code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Adds a call for when a disconnection has occured because of error. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">functor</td><td>functor created from <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArFunctorC.html">ArFunctorC</a> which refers to the function to call. </td></tr>
    <tr><td class="paramname">position</td><td>whether to place the functor first or last </td></tr>
  </table>
  </dd>
</dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classArClientBase.html#a7cb696df3e36f4d8258ed0091e553349" title="Removes a call for when a disconnection has occured because of error. ">remDisconnectOnErrorCB</a> </dd></dl>

<p>References <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArListPos.html#adb42d52c70a646c5698c5513cd25bbd0a7573a55fbcdb54b1768e9ce574407d15">ArListPos::FIRST</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArListPos.html#adb42d52c70a646c5698c5513cd25bbd0a3c55111fa6c7f63c41fc0b387f5b57d9">ArListPos::LAST</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html#a7b6aee74872c19fb8829d96dc3e52f34">ArMutex::lock()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#a43a8b3789126c818f390f24bdbceccce">ArLog::log()</a>, <a class="el" href="classArClientBase.html#a26aec14fcfa968c58608fa3fb4795e6b">myCallbackMutex</a>, <a class="el" href="classArClientBase.html#aa1dc82e053c0d07c8f7e2e72427c0d05">myDisconnectOnErrorCBList</a>, <a class="el" href="classArClientBase.html#a94b7d7d35ec4ddbea9658b53e76f47e0">myLogPrefix</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#ac8cc0fb3aa323ab2a1c21340fdd1dce3a012daf6573594f91242f8dd7c02eb74b">ArLog::Terse</a>, and <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html#afb51b5514a9456f23441e479fe58fb46">ArMutex::unlock()</a>.</p>

<p>Referenced by <a class="el" href="classArMapChanger.html#aff206ab7c8c77f5c3da8abaf77f515ed">ArMapChanger::ArMapChanger()</a>, and <a class="el" href="classArClientBase.html#a9f5d72f8951f20a3bea6094fcbb9af52">getPort()</a>.</p>

</div>
</div>
<a class="anchor" id="af75610dd7e91d98097de1b252d0bacd5"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool ArClientBase::addHandler </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArFunctor1.html">ArFunctor1</a>&lt; <a class="el" href="classArNetPacket.html">ArNetPacket</a> * &gt; *&#160;</td>
          <td class="paramname"><em>functor</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>takeOwnershipOfFunctor</em> = <code>false</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Adds a callback functor for data packets received from the server. </p>
<p>This adds a functor that will be called with a packet whenever a packet for that name arrives.</p>
<dl class="section note"><dt>Note</dt><dd>Do not call <a class="el" href="classArClientBase.html#af75610dd7e91d98097de1b252d0bacd5" title="Adds a callback functor for data packets received from the server. ">addHandler()</a> or <a class="el" href="classArClientBase.html#a904bea3bf052b9a13bba5d81e45f68f9" title="Removes a functor for data packets received from the server. ">remHandler()</a> from within a handler callback, since that will possibly interfere with <a class="el" href="classArClientBase.html" title="The base client class. ">ArClientBase</a>'s iteration over the handler list as it invokes handhlers.</dd></dl>
<p>Note that if you try and add a handler for a specific piece of data from within a handler for that specific piece of data you'll deadlock.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">name</td><td>the name of the data to use with this functor</td></tr>
    <tr><td class="paramname">functor</td><td>the functor to call with the packet when data with this name arrives</td></tr>
    <tr><td class="paramname">takeOwnershipOfFunctor</td><td>True if <a class="el" href="classArClientBase.html" title="The base client class. ">ArClientBase</a> should own this functor, including deleting it if this handler is removed with <a class="el" href="classArClientBase.html#a904bea3bf052b9a13bba5d81e45f68f9" title="Removes a functor for data packets received from the server. ">remHandler()</a> and the functor is no longer needed. Use this if you use new to allocate the functor, pass it in, but don't keep any reference to it for later deallocation.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>false is returned if this name doesn't exist in the data</dd></dl>
<p><b>Python Wrapper Library:</b> Pass a function taking one argument for </p><ul>
<li>functor </li>
</ul>
<p><b>Java Wrapper Library:</b> Use a subclass of ArFunctor_NetPacket for the </p><ul>
<li>functor object. </li>
</ul>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="getVideoExample_8cpp-example.html#a37">getVideoExample.cpp</a>, and <a class="el" href="ptzCameraClientExample_8cpp-example.html#a13">ptzCameraClientExample.cpp</a>.</dd>
</dl>
<p>References <a class="el" href="classArClientData.html#af23427627634f4c25502c4c59fbd3bc1">ArClientData::addFunctor()</a>, <a class="el" href="classArClientData.html#a05656ff87de75a74b3f7c28a8178900e">ArClientData::getFunctorList()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html#a7b6aee74872c19fb8829d96dc3e52f34">ArMutex::lock()</a>, <a class="el" href="classArClientData.html#ae0f2c404c891fa0e61154650679254da">ArClientData::lockFunctorList()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#a43a8b3789126c818f390f24bdbceccce">ArLog::log()</a>, <a class="el" href="classArClientBase.html#ae37c5791539ed084a5a8b459c92a7be8">myIntDataMap</a>, <a class="el" href="classArClientBase.html#a94b7d7d35ec4ddbea9658b53e76f47e0">myLogPrefix</a>, <a class="el" href="classArClientBase.html#a3bbfee4c097f63baeb3738c623b780e5">myMapsMutex</a>, <a class="el" href="classArClientBase.html#a38d4ea57619c2a87f91e4d6f5e33d649">myNameIntMap</a>, <a class="el" href="classArClientBase.html#ae4efc14ab439bbdfb50650242215c4b7">myVerboseLogLevel</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#ac8cc0fb3aa323ab2a1c21340fdd1dce3a7040faf60eeb155eaa85d439b1066ca1">ArLog::Normal</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html#afb51b5514a9456f23441e479fe58fb46">ArMutex::unlock()</a>, and <a class="el" href="classArClientData.html#ac814d4b0ab818fd8dc7404983b195f82">ArClientData::unlockFunctorList()</a>.</p>

<p>Referenced by <a class="el" href="classArCentralForwarder.html#a308e2767b536cb413ec1ba2c23009a74">ArCentralForwarder::addHandler()</a>, <a class="el" href="classArClientDataReceiver.html#a34540406b6c5ab5d9e5ea300d747df3a">ArClientDataReceiver&lt; C, T &gt;::ArClientDataReceiver()</a>, <a class="el" href="classArClientDeleteFileOnServer.html#aeb7a2f2995dfad4c6f40a710cdb9a747">ArClientDeleteFileOnServer::ArClientDeleteFileOnServer()</a>, <a class="el" href="classArClientFileFromClient.html#ad5b55bc26a12f32c22ef4622bf2d5ca0">ArClientFileFromClient::ArClientFileFromClient()</a>, <a class="el" href="classArClientFileLister.html#a098b9c95dd813e29bdafd83f106944b0">ArClientFileLister::ArClientFileLister()</a>, <a class="el" href="classArClientFileToClient.html#a2920d44577a99d421d33622773b746ff">ArClientFileToClient::ArClientFileToClient()</a>, <a class="el" href="classArClientHandlerCamera.html#a4f059ab4ad74db5e767dacf80797aedc">ArClientHandlerCamera::ArClientHandlerCamera()</a>, <a class="el" href="classArMapChanger.html#aff206ab7c8c77f5c3da8abaf77f515ed">ArMapChanger::ArMapChanger()</a>, <a class="el" href="classArHybridForwarderVideo.html#ac4c93743ac228ef81562d2d163b6e2f8">ArHybridForwarderVideo::finishConstructor()</a>, <a class="el" href="classArCentralForwarder.html#a0a196d9a267e16cb7a8a56b0b7269492">ArCentralForwarder::gatheringCallOnce()</a>, <a class="el" href="classArClientBase.html#a6db158596a22ebe1c073b2575621c121">getState()</a>, <a class="el" href="clientStringInfoExample_8cpp.html#a3c04138a5bfe5d72780bb7e82a18e627">main()</a>, <a class="el" href="classOutputHandler.html#acf4f3cc64225c0eddef5e62e05bf535e">OutputHandler::OutputHandler()</a>, <a class="el" href="classArClientHandlerConfig.html#a345d02133a94ab585a96322cbead70c5">ArClientHandlerConfig::requestConfigFromServer()</a>, <a class="el" href="classArClientHandlerConfig.html#adc6992caf725403e025c8a9029d3b82a">ArClientHandlerConfig::requestLastEditablePriorityFromServer()</a>, and <a class="el" href="classArClientHandlerRobotUpdate.html#a308497682f0b294307f76b3738509c48">ArClientHandlerRobotUpdate::requestUpdates()</a>.</p>

</div>
</div>
<a class="anchor" id="a0d003cf30314ff582e08f4254e8d4656"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ArClientBase::addServerShutdownCB </td>
          <td>(</td>
          <td class="paramtype"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArFunctor.html">ArFunctor</a> *&#160;</td>
          <td class="paramname"><em>functor</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArListPos.html#adb42d52c70a646c5698c5513cd25bbd0">ArListPos::Pos</a>&#160;</td>
          <td class="paramname"><em>position</em> = <code><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArListPos.html#adb42d52c70a646c5698c5513cd25bbd0a3c55111fa6c7f63c41fc0b387f5b57d9">ArListPos::LAST</a></code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Adds a call for when the server shuts down. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">functor</td><td>functor created from <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArFunctorC.html">ArFunctorC</a> which refers to the function to call. </td></tr>
    <tr><td class="paramname">position</td><td>whether to place the functor first or last </td></tr>
  </table>
  </dd>
</dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classArClientBase.html#a2399734098ee84b0b344644e76fc07d6" title="Removes a call for when the server shuts down. ">remServerShutdownCB</a> </dd></dl>

<p>References <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArListPos.html#adb42d52c70a646c5698c5513cd25bbd0a7573a55fbcdb54b1768e9ce574407d15">ArListPos::FIRST</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArListPos.html#adb42d52c70a646c5698c5513cd25bbd0a3c55111fa6c7f63c41fc0b387f5b57d9">ArListPos::LAST</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html#a7b6aee74872c19fb8829d96dc3e52f34">ArMutex::lock()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#a43a8b3789126c818f390f24bdbceccce">ArLog::log()</a>, <a class="el" href="classArClientBase.html#a26aec14fcfa968c58608fa3fb4795e6b">myCallbackMutex</a>, <a class="el" href="classArClientBase.html#a94b7d7d35ec4ddbea9658b53e76f47e0">myLogPrefix</a>, <a class="el" href="classArClientBase.html#a59b030f44d90b166254cf2380a2c6ea3">myServerShutdownCBList</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#ac8cc0fb3aa323ab2a1c21340fdd1dce3a012daf6573594f91242f8dd7c02eb74b">ArLog::Terse</a>, and <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html#afb51b5514a9456f23441e479fe58fb46">ArMutex::unlock()</a>.</p>

<p>Referenced by <a class="el" href="classArMapChanger.html#aff206ab7c8c77f5c3da8abaf77f515ed">ArMapChanger::ArMapChanger()</a>, and <a class="el" href="classArClientBase.html#a9f5d72f8951f20a3bea6094fcbb9af52">getPort()</a>.</p>

</div>
</div>
<a class="anchor" id="aafda00e4b6b85c5ddbfd55d54575e441"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool ArClientBase::blockingConnect </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>host</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>port</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>log</em> = <code>true</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>user</em> = <code>NULL</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>password</em> = <code>NULL</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>openOnIP</em> = <code>NULL</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Connect to a server. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">host</td><td>the host to connect to</td></tr>
    <tr><td class="paramname">port</td><td>the port to connect on</td></tr>
    <tr><td class="paramname">log</td><td>whether to log our connection information using <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html">ArLog</a> or not. Keeping the default value of true is recommended (disabling logging is usually only for internal and unusual uses). This setting also applies to logging disconnections and some other I/O events as well.</td></tr>
    <tr><td class="paramname">user</td><td>user name, or NULL for none. </td></tr>
    <tr><td class="paramname">password</td><td>password (cleartext), or NULL for none. </td></tr>
    <tr><td class="paramname">openOnIP</td><td>address of the local network interface to use for the outgoing connection, or NULL for any/all. </td></tr>
  </table>
  </dd>
</dl>

<p>References <a class="el" href="classArClientBase.html#a75411858f1058ff503f42bbeab88858a">internalBlockingConnect()</a>.</p>

<p>Referenced by <a class="el" href="classArHybridForwarderVideo.html#adc89d1c8445d3345b94960d2cb21b1e3">ArHybridForwarderVideo::ArHybridForwarderVideo()</a>, <a class="el" href="classArClientSimpleConnector.html#af4c6ca707c6c0f039eeb3a2a092a8160">ArClientSimpleConnector::connectClient()</a>, and <a class="el" href="configClientToServer_8cpp.html#a3c04138a5bfe5d72780bb7e82a18e627">main()</a>.</p>

</div>
</div>
<a class="anchor" id="a0cd5721a220ebddad72fd9fd5f38a276"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void ArClientBase::buildList </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classArNetPacket.html">ArNetPacket</a> *&#160;</td>
          <td class="paramname"><em>packet</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>References <a class="el" href="classArClientData.html#ade2f8d90de8784de8ebd05a3de9c24be">ArClientData::addDataFlags()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArBasePacket.html#a8f1536daa451024715fe82cec495e826">ArBasePacket::bufToStr()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArBasePacket.html#ac2d63293b9a983d18430eceb0edbf0b1">ArBasePacket::bufToUByte2()</a>, <a class="el" href="classArNetPacket.html#af058f6edff90eef3961f9b21bc88e2ab">ArNetPacket::getCommand()</a>, <a class="el" href="classArClientBase.html#aa62374104cb01052e5edb5517e7de5a0">getName()</a>, <a class="el" href="classArServerCommands.html#a4b1d453536c145108110dd2e1eee89c4a141500872f293f3a2e7763562b728301">ArServerCommands::LIST</a>, <a class="el" href="classArServerCommands.html#a4b1d453536c145108110dd2e1eee89c4af789d41c3ea7728e740a6a10a46b882d">ArServerCommands::LISTARGRET</a>, <a class="el" href="classArServerCommands.html#a4b1d453536c145108110dd2e1eee89c4a00142b7d8bbdb4d4264d6e4c85135b00">ArServerCommands::LISTARGRETSINGLE</a>, <a class="el" href="classArServerCommands.html#a4b1d453536c145108110dd2e1eee89c4a46ba97bce7f0fd78036ea0395fd75b49">ArServerCommands::LISTGROUPANDFLAGS</a>, <a class="el" href="classArServerCommands.html#a4b1d453536c145108110dd2e1eee89c4acff7f30183e09b5722f66f20390c6fe1">ArServerCommands::LISTGROUPANDFLAGSSINGLE</a>, <a class="el" href="classArServerCommands.html#a4b1d453536c145108110dd2e1eee89c4aa22a779d0c5e4aba20a6273dc24c3fe4">ArServerCommands::LISTSINGLE</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#a43a8b3789126c818f390f24bdbceccce">ArLog::log()</a>, <a class="el" href="classArClientBase.html#ae37c5791539ed084a5a8b459c92a7be8">myIntDataMap</a>, <a class="el" href="classArClientBase.html#a94b7d7d35ec4ddbea9658b53e76f47e0">myLogPrefix</a>, <a class="el" href="classArClientBase.html#a38d4ea57619c2a87f91e4d6f5e33d649">myNameIntMap</a>, <a class="el" href="classArClientBase.html#ac805cbd85a200f4713bb94e54584b93c">myReceivedArgRetList</a>, <a class="el" href="classArClientBase.html#a5eca54c62e701db104bb3af157b52ef8">myReceivedDataList</a>, <a class="el" href="classArClientBase.html#a128ae2c9e65cd83f1f1fd9d892468593">myReceivedGroupAndFlagsList</a>, <a class="el" href="classArClientBase.html#ae4efc14ab439bbdfb50650242215c4b7">myVerboseLogLevel</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#ac8cc0fb3aa323ab2a1c21340fdd1dce3a7040faf60eeb155eaa85d439b1066ca1">ArLog::Normal</a>, <a class="el" href="classArClientData.html#ab0f405283130f08c0c44d1d09674e5a9">ArClientData::setArgRetDescs()</a>, <a class="el" href="classArClientData.html#a647cb37f9e64c6e09a9afd73c2781a34">ArClientData::setCommandGroup()</a>, and <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#ac8cc0fb3aa323ab2a1c21340fdd1dce3a012daf6573594f91242f8dd7c02eb74b">ArLog::Terse</a>.</p>

<p>Referenced by <a class="el" href="classArClientBase.html#a8f2e8920b136953c0deccb6e3fe3ee73">processPacket()</a>.</p>

</div>
</div>
<a class="anchor" id="acadc0bdb42259b3d7ad76cd942f2c660"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void ArClientBase::clear </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>MPL adding this since these look leaked </p>

<p>References <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArUtil.html#a2d327400c6ebecc3b6f1c2ce35df1c74">ArUtil::deleteSetPairs()</a>, <a class="el" href="classArClientBase.html#a7e9cfee673d111e2eee718651639522d">internalSwitchState()</a>, <a class="el" href="classArClientBase.html#a67c70a563ba8c2b9647c46efedb4cbca">myDisconnectSoon</a>, <a class="el" href="classArClientBase.html#ae37c5791539ed084a5a8b459c92a7be8">myIntDataMap</a>, <a class="el" href="classArClientBase.html#a5f8ce7801ef44a2c6c30a3098ce776c2">myIsRunningAsync</a>, <a class="el" href="classArClientBase.html#a24be0a8138698517e0c4b5610e6011cf">myIsStartedDisconnect</a>, <a class="el" href="classArClientBase.html#ac729f4394ce040e212dfe5bdc3a4b5a1">myIsStopped</a>, <a class="el" href="classArClientBase.html#a419ab787b6173c92134534a31f3a27f8">myLastPacketReceived</a>, <a class="el" href="classArClientBase.html#a38d4ea57619c2a87f91e4d6f5e33d649">myNameIntMap</a>, <a class="el" href="classArClientBase.html#af4a14693fd1eb0990ca77adc1532d3f3">myQuiet</a>, <a class="el" href="classArClientBase.html#ac805cbd85a200f4713bb94e54584b93c">myReceivedArgRetList</a>, <a class="el" href="classArClientBase.html#a5eca54c62e701db104bb3af157b52ef8">myReceivedDataList</a>, <a class="el" href="classArClientBase.html#a128ae2c9e65cd83f1f1fd9d892468593">myReceivedGroupAndFlagsList</a>, <a class="el" href="classArClientBase.html#aad304ef6d6ee6d3db028cf7dfa97abde">myRejected</a>, <a class="el" href="classArClientBase.html#ac52be180c68d85b81d82b8c383d8c233">myRejectedString</a>, <a class="el" href="classArClientBase.html#a660354779ada598954acd34d2a1b7ff9">myServerReportedUdpPort</a>, <a class="el" href="classArClientBase.html#a8fde37a425ee2ca259ab2da147b6ee64">myTcpOnlyFrom</a>, <a class="el" href="classArClientBase.html#aa9d969c1c88c9059cd0c1787be74389c">myTcpOnlyTo</a>, <a class="el" href="classArClientBase.html#a8add18e6bd5dc78350c19e63b2e31acb">myTimeoutTime</a>, <a class="el" href="classArClientBase.html#af017397076e2430f561932b59f49a76c">myTrackingReceivedMap</a>, <a class="el" href="classArClientBase.html#ae1244558b7f208180a016abe882a58ab">myTrackingSentMap</a>, <a class="el" href="classArClientBase.html#a5c2cf4efb62aebe7add51bff09b438f4">myUdpConfirmedFrom</a>, <a class="el" href="classArClientBase.html#a5b8dea940f32699d25610fba6c5a8f63">myUdpConfirmedTo</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/group__easy.html#ga7c269e161c8e7cb56bde73dea501a619">ArTime::setToNow()</a>, and <a class="el" href="classArClientBase.html#af81d1a763266af658676640386e0bdf0a2dc9a243a788b28855a2120ff03d91c1">STATE_NO_CONNECTION</a>.</p>

<p>Referenced by <a class="el" href="classArClientBase.html#ab2cf2d19c6da6490fe4c04554a7f31b2">ArClientBase()</a>, <a class="el" href="classArClientBase.html#a4c5b2436e7efbce5f7325e3cafd085d8">internalNonBlockingConnectStart()</a>, and <a class="el" href="classArClientBase.html#aabd8d349c5ab2432da4f70bccbbaa40d">~ArClientBase()</a>.</p>

</div>
</div>
<a class="anchor" id="a873a731b968b4e3359c60d592122770b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool ArClientBase::dataExists </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>name</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Sees if this data exists. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">name</td><td>the name to stop sending </td></tr>
  </table>
  </dd>
</dl>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="getVideoExample_8cpp-example.html#a36">getVideoExample.cpp</a>.</dd>
</dl>
<p>References <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html#a7b6aee74872c19fb8829d96dc3e52f34">ArMutex::lock()</a>, <a class="el" href="classArClientBase.html#a3bbfee4c097f63baeb3738c623b780e5">myMapsMutex</a>, <a class="el" href="classArClientBase.html#a38d4ea57619c2a87f91e4d6f5e33d649">myNameIntMap</a>, and <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html#afb51b5514a9456f23441e479fe58fb46">ArMutex::unlock()</a>.</p>

<p>Referenced by <a class="el" href="classArClientDataReceiver.html#a34540406b6c5ab5d9e5ea300d747df3a">ArClientDataReceiver&lt; C, T &gt;::ArClientDataReceiver()</a>, <a class="el" href="classArClientFileLister.html#a098b9c95dd813e29bdafd83f106944b0">ArClientFileLister::ArClientFileLister()</a>, <a class="el" href="classArMapChanger.html#aff206ab7c8c77f5c3da8abaf77f515ed">ArMapChanger::ArMapChanger()</a>, <a class="el" href="classArClientHandlerConfig.html#ac239f6fd947b46d4e11b7841ba947b17">ArClientHandlerConfig::canRequestDefaults()</a>, <a class="el" href="classArCentralForwarder.html#a09b7c8d93a789afef21ec401d292ef78">ArCentralForwarder::dataExists()</a>, <a class="el" href="classArHybridForwarderVideo.html#ac4c93743ac228ef81562d2d163b6e2f8">ArHybridForwarderVideo::finishConstructor()</a>, <a class="el" href="classArCentralForwarder.html#a0a196d9a267e16cb7a8a56b0b7269492">ArCentralForwarder::gatheringCallOnce()</a>, <a class="el" href="classArClientFileLister.html#aca63890ceb622bc531c4aef2841e2361">ArClientFileLister::getDirListing()</a>, <a class="el" href="classArClientBase.html#a6db158596a22ebe1c073b2575621c121">getState()</a>, <a class="el" href="classArClientFileLister.html#aacc5cb5c69ab2c30275d13e78086924c">ArClientFileLister::isAvailable()</a>, <a class="el" href="classArClientFileToClient.html#a1eb35af8547449158603974cf6cf63cd">ArClientFileToClient::isAvailable()</a>, <a class="el" href="classArClientFileFromClient.html#ac7a3a9432fceaa9c851b7e5e2fb5dc9a">ArClientFileFromClient::isAvailable()</a>, <a class="el" href="classArClientDeleteFileOnServer.html#a35222414f09180b659597b67ed96d178">ArClientDeleteFileOnServer::isAvailable()</a>, <a class="el" href="classArClientFileFromClient.html#a08f40d6f4b531afe220096edef269195">ArClientFileFromClient::isAvailableFast()</a>, <a class="el" href="classArClientFileToClient.html#af3cca08315edf9b8ec2d61b2d0a3feec">ArClientFileToClient::isAvailableSetTimestamp()</a>, <a class="el" href="classArClientFileFromClient.html#aa51fc5a9959ba008d9d2c4d1dad89beb">ArClientFileFromClient::isAvailableSetTimestamp()</a>, <a class="el" href="classArClientFileFromClient.html#a603a18feca236e839eef6db57ef6e9a1">ArClientFileFromClient::isAvailableSlow()</a>, <a class="el" href="classArClientHandlerConfig.html#af895c5e4adced74e24191453f05fb686">ArClientHandlerConfig::isLastEditablePriorityAvailable()</a>, <a class="el" href="clientDemo_8cpp.html#a3c04138a5bfe5d72780bb7e82a18e627">main()</a>, <a class="el" href="classOutputHandler.html#acf4f3cc64225c0eddef5e62e05bf535e">OutputHandler::OutputHandler()</a>, <a class="el" href="classArClientFileFromClient.html#a8b742a2887c4292df9c773160b58445b">ArClientFileFromClient::putFileToDirectory()</a>, <a class="el" href="classArClientHandlerConfig.html#a345d02133a94ab585a96322cbead70c5">ArClientHandlerConfig::requestConfigFromServer()</a>, <a class="el" href="classArClientHandlerConfig.html#adc6992caf725403e025c8a9029d3b82a">ArClientHandlerConfig::requestLastEditablePriorityFromServer()</a>, <a class="el" href="classArClientHandlerRobotUpdate.html#a308497682f0b294307f76b3738509c48">ArClientHandlerRobotUpdate::requestUpdates()</a>, and <a class="el" href="classArClientHandlerConfig.html#afe53ae4846a04ceea9652293d45f5d0c">ArClientHandlerConfig::saveConfigToServer()</a>.</p>

</div>
</div>
<a class="anchor" id="ad260e1e7127e1f4116c0feca12febe7d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool ArClientBase::disconnect </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Disconnect from a server. </p>
<p>This method blocks while the connection is being shutdown. </p>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="robotUpdateExample_8cpp-example.html#a34">robotUpdateExample.cpp</a>.</dd>
</dl>
<p>References <a class="el" href="classArClientBase.html#a59e95e3eeaec12a3925ed3eb13d13b5e">finishNonBlockingDisconnect()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/group__easy.html#ga4dfb878a3f9123b8dd96ae05b2fd94cb">ArUtil::sleep()</a>, and <a class="el" href="classArClientBase.html#a9e5670ac90c62d0c156bfa47a50743f2">startNonBlockingDisconnect()</a>.</p>

<p>Referenced by <a class="el" href="configClientToServer_8cpp.html#ab8946d6e7cc5a808b5e38e0af5c59a1f">gotConfig()</a>, <a class="el" href="clientDemo_8cpp.html#a3c04138a5bfe5d72780bb7e82a18e627">main()</a>, <a class="el" href="classArClientBase.html#a8f2e8920b136953c0deccb6e3fe3ee73">processPacket()</a>, and <a class="el" href="classArCentralForwarder.html#a485f9ceb0e8496dc89961700552958d6">ArCentralForwarder::~ArCentralForwarder()</a>.</p>

</div>
</div>
<a class="anchor" id="a07a9b5d106fc8ca61754a560ac64a773"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ArClientBase::disconnectSoon </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Disconnect from a server next time through the loop. </p>
<p>This method does not block while the connection is being shutdown, and the disconnect only happens the next time the client base is in its loop </p>

<p>References <a class="el" href="classArClientBase.html#a67c70a563ba8c2b9647c46efedb4cbca">myDisconnectSoon</a>.</p>

</div>
</div>
<a class="anchor" id="a3f8c332ceee2111b1813b438e413e0c9"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ArClientBase::enforceProtocolVersion </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>protocolVersion</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>log</em> = <code>true</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Enforces the that the server is using this protocol version. </p>

<p>References <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html#a7b6aee74872c19fb8829d96dc3e52f34">ArMutex::lock()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#a43a8b3789126c818f390f24bdbceccce">ArLog::log()</a>, <a class="el" href="classArClientBase.html#ad6d34b3b54e4134bc84d573994cb2b25">myDataMutex</a>, <a class="el" href="classArClientBase.html#a84e12313e6af619d030a56a22e273e32">myEnforceProtocolVersion</a>, <a class="el" href="classArClientBase.html#a94b7d7d35ec4ddbea9658b53e76f47e0">myLogPrefix</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#ac8cc0fb3aa323ab2a1c21340fdd1dce3a7040faf60eeb155eaa85d439b1066ca1">ArLog::Normal</a>, and <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html#afb51b5514a9456f23441e479fe58fb46">ArMutex::unlock()</a>.</p>

<p>Referenced by <a class="el" href="classArClientBase.html#a9f5d72f8951f20a3bea6094fcbb9af52">getPort()</a>, <a class="el" href="classArClientBase.html#a8f2e8920b136953c0deccb6e3fe3ee73">processPacket()</a>, and <a class="el" href="classArCentralForwarder.html#adeca336c1d24c92a7d4b9608b40ec064">ArCentralForwarder::startingCallOnce()</a>.</p>

</div>
</div>
<a class="anchor" id="a96d69ef43a3d460b07a036a482330a0f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ArClientBase::enforceType </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classArServerCommands.html#a17e8a1248f23b0f1dde4606af34b0efd">ArServerCommands::Type</a>&#160;</td>
          <td class="paramname"><em>type</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>log</em> = <code>true</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Enforces that the robots that connect are this type. </p>

<p>References <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html#a7b6aee74872c19fb8829d96dc3e52f34">ArMutex::lock()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#a43a8b3789126c818f390f24bdbceccce">ArLog::log()</a>, <a class="el" href="classArClientBase.html#ad6d34b3b54e4134bc84d573994cb2b25">myDataMutex</a>, <a class="el" href="classArClientBase.html#ac81adf0af148c10fa7319073ed427555">myEnforceType</a>, <a class="el" href="classArClientBase.html#a94b7d7d35ec4ddbea9658b53e76f47e0">myLogPrefix</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#ac8cc0fb3aa323ab2a1c21340fdd1dce3a7040faf60eeb155eaa85d439b1066ca1">ArLog::Normal</a>, <a class="el" href="classArServerCommands.html#af5713e054859cdb761f75e1113ea3ee2">ArServerCommands::toString()</a>, and <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html#afb51b5514a9456f23441e479fe58fb46">ArMutex::unlock()</a>.</p>

<p>Referenced by <a class="el" href="classArClientBase.html#a9f5d72f8951f20a3bea6094fcbb9af52">getPort()</a>, and <a class="el" href="classArCentralForwarder.html#adeca336c1d24c92a7d4b9608b40ec064">ArCentralForwarder::startingCallOnce()</a>.</p>

</div>
</div>
<a class="anchor" id="ac50bd95e8a0649f6347745c10176da74"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">unsigned int ArClientBase::findCommandFromName </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>name</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Returns the command number from the name. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">name</td><td>the name of the data to find the command of</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 if there is no command of that name, the command number otherwise </dd></dl>

<p>References <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html#a7b6aee74872c19fb8829d96dc3e52f34">ArMutex::lock()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#a43a8b3789126c818f390f24bdbceccce">ArLog::log()</a>, <a class="el" href="classArClientBase.html#a94b7d7d35ec4ddbea9658b53e76f47e0">myLogPrefix</a>, <a class="el" href="classArClientBase.html#a3bbfee4c097f63baeb3738c623b780e5">myMapsMutex</a>, <a class="el" href="classArClientBase.html#a38d4ea57619c2a87f91e4d6f5e33d649">myNameIntMap</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#ac8cc0fb3aa323ab2a1c21340fdd1dce3a7040faf60eeb155eaa85d439b1066ca1">ArLog::Normal</a>, and <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html#afb51b5514a9456f23441e479fe58fb46">ArMutex::unlock()</a>.</p>

<p>Referenced by <a class="el" href="classArClientBase.html#a792f22a79dbcef9122ba69946315df16">getDataMap()</a>, <a class="el" href="classArClientBase.html#a0a36a40fe2598eb214368ae8c3a26ca1">request()</a>, <a class="el" href="classArCentralForwarder.html#a5f9ac1abfd6ddb9dd1a3a860befc65ec">ArCentralForwarder::requestOnce()</a>, <a class="el" href="classArClientBase.html#a2dcd11daf8d2045d460b83733e6932d0">requestOnce()</a>, <a class="el" href="classArCentralForwarder.html#a810e72e3bae9c870269eaed3abba47a7">ArCentralForwarder::requestOnceUdp()</a>, <a class="el" href="classArClientBase.html#ab7e431bdf19aa838576c7928302efe67">requestOnceUdp()</a>, <a class="el" href="classArClientBase.html#a972cebefaa57d709158b5b0d2c459d0f">requestOnceWithDouble()</a>, <a class="el" href="classArClientBase.html#ad70a1f142b30a08ab54a02146a4c2005">requestOnceWithInt16()</a>, <a class="el" href="classArClientBase.html#a539a9fd371bade04042cf48191afd674">requestOnceWithInt32()</a>, <a class="el" href="classArClientBase.html#a3b3783c386707050eb83287cb53dd07b">requestOnceWithString()</a>, and <a class="el" href="classArClientBase.html#aee1400e28ba15f18c032ea7f3b414cfd">requestStop()</a>.</p>

</div>
</div>
<a class="anchor" id="a59e95e3eeaec12a3925ed3eb13d13b5e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ArClientBase::finishNonBlockingDisconnect </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Finishes the process of disconnecting from the server. </p>
<p>This method should be used in conjunction with startNonBlockingDisconnect in threads that should not block (such as the main GUI thread). </p>

<p>References <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArSocket.html#a89ab9a4e404526343ccf6ba3b6644c58">ArSocket::close()</a>, <a class="el" href="classArClientBase.html#a996c8c096a233ef3ed71583e5bc5dd58">myState</a>, <a class="el" href="classArClientBase.html#a24f77b01dff93fc5f6748bad64eb96d9">myTcpSocket</a>, <a class="el" href="classArClientBase.html#ae89e9630b0e0de6a4b1d5ed7dfd9a78b">myUdpSocket</a>, and <a class="el" href="classArClientBase.html#af81d1a763266af658676640386e0bdf0a2dc9a243a788b28855a2120ff03d91c1">STATE_NO_CONNECTION</a>.</p>

<p>Referenced by <a class="el" href="classArClientBase.html#ad260e1e7127e1f4116c0feca12febe7d">disconnect()</a>, <a class="el" href="classArClientBase.html#a9f5d72f8951f20a3bea6094fcbb9af52">getPort()</a>, and <a class="el" href="classArClientBase.html#a156525a1b5ca6a26c8b72c48b3c06848">loopOnce()</a>.</p>

</div>
</div>
<a class="anchor" id="a6e639770e8392cb106c71e7c68b24cb9"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ArClientBase::getClientKey </td>
          <td>(</td>
          <td class="paramtype">unsigned char&#160;</td>
          <td class="paramname"><em>key</em>[CLIENT_KEY_LENGTH]</td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Gets a (probably) unique key that can be used to identify the client (after connection) </p>
<p>NOTE that this is only valid AFTER the client is connected. </p>

<p>References <a class="el" href="classArClientBase.html#a9887e654d54ea17a6894cd7015c8c3e8">myClientKey</a>.</p>

<p>Referenced by <a class="el" href="classArClientBase.html#a9f5d72f8951f20a3bea6094fcbb9af52">getPort()</a>.</p>

</div>
</div>
<a class="anchor" id="a04ecf7d39ef1062a26f82f848dc2bcbb"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int ArClientBase::getConnectTimeoutTime </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Gets the time allowed for connection. </p>
<dl class="section return"><dt>Returns</dt><dd>This value controls how long the client will give to connect, it is the argument in number of seconds... if &lt;= 0 then no timeout will take place. </dd></dl>

<p>References <a class="el" href="classArClientBase.html#a8add18e6bd5dc78350c19e63b2e31acb">myTimeoutTime</a>.</p>

<p>Referenced by <a class="el" href="classArClientBase.html#a9f5d72f8951f20a3bea6094fcbb9af52">getPort()</a>.</p>

</div>
</div>
<a class="anchor" id="a792f22a79dbcef9122ba69946315df16"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">const std::map&lt;unsigned int, <a class="el" href="classArClientData.html">ArClientData</a> *&gt;* ArClientBase::getDataMap </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Internal function get get the data map. </p>

<p>References <a class="el" href="classArClientBase.html#ac50bd95e8a0649f6347745c10176da74">findCommandFromName()</a>, <a class="el" href="classArClientBase.html#ae37c5791539ed084a5a8b459c92a7be8">myIntDataMap</a>, <a class="el" href="classArClientBase.html#a6dcbb42038ccfa79e85c45a89aa6df0b">requestByCommand()</a>, <a class="el" href="classArClientBase.html#a952ba6e629abdb7d01eabc247ca6cd4d">requestOnceByCommand()</a>, <a class="el" href="classArClientBase.html#aa45eea17535cde2664a071c0591f534a">requestOnceByCommandUdp()</a>, and <a class="el" href="classArClientBase.html#a993ac794e3e3df2a401a155600596ae8">requestStopByCommand()</a>.</p>

<p>Referenced by <a class="el" href="classArCentralForwarder.html#a0a196d9a267e16cb7a8a56b0b7269492">ArCentralForwarder::gatheringCallOnce()</a>.</p>

</div>
</div>
<a class="anchor" id="a98514abd83464f0bda9af37f30018c41"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool ArClientBase::getDebugLogging </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Returns if we're doing debug logging or not. </p>

<p>References <a class="el" href="classArClientBase.html#a71b57a82dd96c0e3ac7666c758f530b0">myDebugLogging</a>.</p>

</div>
</div>
<a class="anchor" id="a1c10f8408523e85a6d891d0331fa6259"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const char * ArClientBase::getHost </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Gets the name of the host we tried to connect to. </p>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="ptzCameraClientExample_8cpp-example.html#a32">ptzCameraClientExample.cpp</a>, and <a class="el" href="robotUpdateExample_8cpp-example.html#a14">robotUpdateExample.cpp</a>.</dd>
</dl>
<p>References <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html#a7b6aee74872c19fb8829d96dc3e52f34">ArMutex::lock()</a>, <a class="el" href="classArClientBase.html#ad6d34b3b54e4134bc84d573994cb2b25">myDataMutex</a>, <a class="el" href="classArClientBase.html#ad388500910d17f967ffb9457b1995710">myHost</a>, and <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html#afb51b5514a9456f23441e479fe58fb46">ArMutex::unlock()</a>.</p>

<p>Referenced by <a class="el" href="classArClientBase.html#a6db158596a22ebe1c073b2575621c121">getState()</a>, and <a class="el" href="changeMapOnServer_8cpp.html#a3c04138a5bfe5d72780bb7e82a18e627">main()</a>.</p>

</div>
</div>
<a class="anchor" id="a37a32ea9c66bae5a644ab6625568ecdd"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArTime.html">ArTime</a> ArClientBase::getLastPacketReceived </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Gets the last time a packet was received. </p>

<p>References <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html#a7b6aee74872c19fb8829d96dc3e52f34">ArMutex::lock()</a>, <a class="el" href="classArClientBase.html#ad6d34b3b54e4134bc84d573994cb2b25">myDataMutex</a>, <a class="el" href="classArClientBase.html#a419ab787b6173c92134534a31f3a27f8">myLastPacketReceived</a>, and <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html#afb51b5514a9456f23441e479fe58fb46">ArMutex::unlock()</a>.</p>

<p>Referenced by <a class="el" href="classArClientBase.html#a9f5d72f8951f20a3bea6094fcbb9af52">getPort()</a>.</p>

</div>
</div>
<a class="anchor" id="a88796283202dd686aa9955a34614ad9e"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">const char * ArClientBase::getLogPrefix </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Returns the entire string used to prefix log entries for this client base. </p>

<p>References <a class="el" href="classArClientBase.html#a94b7d7d35ec4ddbea9658b53e76f47e0">myLogPrefix</a>.</p>

</div>
</div>
<a class="anchor" id="aa62374104cb01052e5edb5517e7de5a0"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const char * ArClientBase::getName </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classArNetPacket.html">ArNetPacket</a> *&#160;</td>
          <td class="paramname"><em>packet</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>internalCall</em> = <code>false</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Gets the name of the data a packet is for. </p>

<p>References <a class="el" href="classArNetPacket.html#af058f6edff90eef3961f9b21bc88e2ab">ArNetPacket::getCommand()</a>.</p>

<p>Referenced by <a class="el" href="classArClientBase.html#a0cd5721a220ebddad72fd9fd5f38a276">buildList()</a>, <a class="el" href="classArClientBase.html#a9f5d72f8951f20a3bea6094fcbb9af52">getPort()</a>, <a class="el" href="classArCentralForwarder.html#a75e7c2edb086f55c8a71a0b2a82232e8">ArCentralForwarder::internalRequestChanged()</a>, <a class="el" href="classArCentralForwarder.html#ad60d51c142fd51ba3c83982e379876ff">ArCentralForwarder::internalRequestOnce()</a>, <a class="el" href="classArClientBase.html#aca6670002abd10af169aab84bd2dd1ad">logTracking()</a>, <a class="el" href="classArCentralForwarder.html#a50ae9f94a38d94133fdcd2fc33371a56">ArCentralForwarder::receiveData()</a>, and <a class="el" href="classArClientBase.html#ac7d01b56aa8db363c7025400e85a0bb9">setupPacket()</a>.</p>

</div>
</div>
<a class="anchor" id="ad331af6cfcbc37079d4f1bb283cd509e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const char * ArClientBase::getName </td>
          <td>(</td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>command</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>internalCall</em> = <code>false</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Gets the name of the data a command is. </p>

<p>References <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html#a7b6aee74872c19fb8829d96dc3e52f34">ArMutex::lock()</a>, <a class="el" href="classArClientBase.html#ae37c5791539ed084a5a8b459c92a7be8">myIntDataMap</a>, <a class="el" href="classArClientBase.html#a3bbfee4c097f63baeb3738c623b780e5">myMapsMutex</a>, and <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html#afb51b5514a9456f23441e479fe58fb46">ArMutex::unlock()</a>.</p>

</div>
</div>
<a class="anchor" id="a9f5d72f8951f20a3bea6094fcbb9af52"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int ArClientBase::getPort </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Get port we connected to (only valid if connected) </p>

<p>References <a class="el" href="classArClientBase.html#a927e8816c53d7c3c0244cf1d8ad6f68b">addCycleCallback()</a>, <a class="el" href="classArClientBase.html#ad3e597486ac95414f45f45a5b4bece8b">addDisconnectOnErrorCB()</a>, <a class="el" href="classArClientBase.html#a0d003cf30314ff582e08f4254e8d4656">addServerShutdownCB()</a>, <a class="el" href="classArClientBase.html#a307d45f7ff6432775c9f6a6be2a46b9cafa66f83897cf6fac0c909e409984730a">CLIENT_KEY_LENGTH</a>, <a class="el" href="classArClientBase.html#a3f8c332ceee2111b1813b438e413e0c9">enforceProtocolVersion()</a>, <a class="el" href="classArClientBase.html#a96d69ef43a3d460b07a036a482330a0f">enforceType()</a>, <a class="el" href="classArClientBase.html#a59e95e3eeaec12a3925ed3eb13d13b5e">finishNonBlockingDisconnect()</a>, <a class="el" href="classArClientBase.html#a6e639770e8392cb106c71e7c68b24cb9">getClientKey()</a>, <a class="el" href="classArClientBase.html#a04ecf7d39ef1062a26f82f848dc2bcbb">getConnectTimeoutTime()</a>, <a class="el" href="classArClientBase.html#a37a32ea9c66bae5a644ab6625568ecdd">getLastPacketReceived()</a>, <a class="el" href="classArClientBase.html#aa62374104cb01052e5edb5517e7de5a0">getName()</a>, <a class="el" href="classArClientBase.html#a59ad77df6c8aad1ff39791a20b122440">isStopped()</a>, <a class="el" href="classArClientBase.html#ae92349fdcb65ff332cd46f6a777d007b">isTcpOnlyFromServer()</a>, <a class="el" href="classArClientBase.html#a160a0f61ba0dc6b72ef54309fea37cca">isTcpOnlyToServer()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArListPos.html#adb42d52c70a646c5698c5513cd25bbd0a3c55111fa6c7f63c41fc0b387f5b57d9">ArListPos::LAST</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html#a7b6aee74872c19fb8829d96dc3e52f34">ArMutex::lock()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/group__easy.html#gaeb5db5d20c1794795ec0d141ac305aa1">log()</a>, <a class="el" href="classArClientBase.html#ad77e87d97528439fb884be5c1f831104">logDataList()</a>, <a class="el" href="classArClientBase.html#aca6670002abd10af169aab84bd2dd1ad">logTracking()</a>, <a class="el" href="classArClientBase.html#a156525a1b5ca6a26c8b72c48b3c06848">loopOnce()</a>, <a class="el" href="classArClientBase.html#ad6d34b3b54e4134bc84d573994cb2b25">myDataMutex</a>, <a class="el" href="classArClientBase.html#a1486b59cf86991bc2d34c975146d7294">myPort</a>, <a class="el" href="classArClientBase.html#a8f2e8920b136953c0deccb6e3fe3ee73">processPacket()</a>, <a class="el" href="classArClientBase.html#aace1f3cde948cc76173978a2a4062834">processPacketUdp()</a>, <a class="el" href="classArClientBase.html#a416ab3c98c526e07e0e4140848409d8b">remCycleCallback()</a>, <a class="el" href="classArClientBase.html#a7cb696df3e36f4d8258ed0091e553349">remDisconnectOnErrorCB()</a>, <a class="el" href="classArClientBase.html#a2399734098ee84b0b344644e76fc07d6">remServerShutdownCB()</a>, <a class="el" href="classArClientBase.html#a4ed44a6f3835bd41e4aff334b4dbf764">resetTracking()</a>, <a class="el" href="classArClientBase.html#a012118e5e43ee6e75f9d56ad5fbf2b7b">run()</a>, <a class="el" href="classArClientBase.html#a778c406a8eda15109afda20521acf502">runAsync()</a>, <a class="el" href="classArClientBase.html#aee8cd490ba2ce7dcd483aeb97179b39b">runThread()</a>, <a class="el" href="classArClientBase.html#ad0c16dee93dd68923309ccad6ab79128">sendPacketTcp()</a>, <a class="el" href="classArClientBase.html#adff0830f1f877067d90261cecf887414">sendPacketUdp()</a>, <a class="el" href="classArClientBase.html#a11ed13bd851b342af904fc7c6695ff6e">setBackupTimeout()</a>, <a class="el" href="classArClientBase.html#a751949cbde124628fa536b7a63244224">setConnectTimeoutTime()</a>, <a class="el" href="classArClientBase.html#acbf0dcf0eff41a3fed3bc4971a610a1e">setServerKey()</a>, <a class="el" href="classArClientBase.html#a3d2b633b8180dec697d87733d891f5ab">setTcpOnlyFromServer()</a>, <a class="el" href="classArClientBase.html#a561fed6b6fa30c67318d17173abeeef8">setTcpOnlyToServer()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/group__easy.html#gaeb05754b7747988dd97a961eaded6830">sin()</a>, <a class="el" href="classArClientBase.html#a9e5670ac90c62d0c156bfa47a50743f2">startNonBlockingDisconnect()</a>, <a class="el" href="classArClientBase.html#a2b1aad5de83d6e9f04fd00d9bd943465">stopRunning()</a>, and <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html#afb51b5514a9456f23441e479fe58fb46">ArMutex::unlock()</a>.</p>

</div>
</div>
<a class="anchor" id="abebd9b3fd56c9401384876ffae90785a"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool ArClientBase::getReceivedArgRetList </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Gets if we received the list of arguments and. </p>

<p>References <a class="el" href="classArClientBase.html#ac805cbd85a200f4713bb94e54584b93c">myReceivedArgRetList</a>.</p>

<p>Referenced by <a class="el" href="classArCentralForwarder.html#a0a196d9a267e16cb7a8a56b0b7269492">ArCentralForwarder::gatheringCallOnce()</a>.</p>

</div>
</div>
<a class="anchor" id="a9146d03d37cf37f85f52c08db84aae15"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool ArClientBase::getReceivedDataList </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Gets if we received the list of commands. </p>

<p>References <a class="el" href="classArClientBase.html#a5eca54c62e701db104bb3af157b52ef8">myReceivedDataList</a>.</p>

<p>Referenced by <a class="el" href="classArCentralForwarder.html#a0a196d9a267e16cb7a8a56b0b7269492">ArCentralForwarder::gatheringCallOnce()</a>.</p>

</div>
</div>
<a class="anchor" id="ad30d595c20eafd7058895b9e41b3998c"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool ArClientBase::getReceivedGroupAndFlagsList </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Gets if we received the list of commands. </p>

<p>References <a class="el" href="classArClientBase.html#a128ae2c9e65cd83f1f1fd9d892468593">myReceivedGroupAndFlagsList</a>.</p>

<p>Referenced by <a class="el" href="classArCentralForwarder.html#a0a196d9a267e16cb7a8a56b0b7269492">ArCentralForwarder::gatheringCallOnce()</a>.</p>

</div>
</div>
<a class="anchor" id="aee9339f92bffb1d996d79069b50de114"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int ArClientBase::getRejected </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Tells us the reason the connection was rejected (see <a class="el" href="classArServerCommands.html" title="The commands from the server to the client. ">ArServerCommands</a> for details) </p>

<p>References <a class="el" href="classArClientBase.html#aad304ef6d6ee6d3db028cf7dfa97abde">myRejected</a>.</p>

</div>
</div>
<a class="anchor" id="a044c843a6a2714e5dfd0548c99db5549"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">const char* ArClientBase::getRejectedString </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Tells us the reason the connection was rejected (see <a class="el" href="classArServerCommands.html" title="The commands from the server to the client. ">ArServerCommands</a> for details) </p>

<p>References <a class="el" href="classArClientBase.html#ac52be180c68d85b81d82b8c383d8c233">myRejectedString</a>.</p>

</div>
</div>
<a class="anchor" id="a178422ad8149957fe999e1b510fcb61d"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">const char * ArClientBase::getRobotName </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Returns the optional name of the connected robot for debugging purposes. </p>

<p>References <a class="el" href="classArClientBase.html#a1675297fdb1923c0b6169e5ceed0b7c6">myRobotName</a>.</p>

<p>Referenced by <a class="el" href="classArMapChanger.html#aad377655ee135174213579f5b88941b4">ArMapChanger::sendMapChanges()</a>.</p>

</div>
</div>
<a class="anchor" id="a6db158596a22ebe1c073b2575621c121"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classArClientBase.html#af81d1a763266af658676640386e0bdf0">ClientState</a> ArClientBase::getState </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Gets the state of the client connection. </p>

<p>References <a class="el" href="classArClientBase.html#af75610dd7e91d98097de1b252d0bacd5">addHandler()</a>, <a class="el" href="classArClientBase.html#a873a731b968b4e3359c60d592122770b">dataExists()</a>, <a class="el" href="classArClientBase.html#a1c10f8408523e85a6d891d0331fa6259">getHost()</a>, <a class="el" href="classArClientBase.html#a996c8c096a233ef3ed71583e5bc5dd58">myState</a>, <a class="el" href="classArClientBase.html#a904bea3bf052b9a13bba5d81e45f68f9">remHandler()</a>, <a class="el" href="classArClientBase.html#a0a36a40fe2598eb214368ae8c3a26ca1">request()</a>, <a class="el" href="classArClientBase.html#a2dcd11daf8d2045d460b83733e6932d0">requestOnce()</a>, <a class="el" href="classArClientBase.html#ab7e431bdf19aa838576c7928302efe67">requestOnceUdp()</a>, <a class="el" href="classArClientBase.html#a972cebefaa57d709158b5b0d2c459d0f">requestOnceWithDouble()</a>, <a class="el" href="classArClientBase.html#ad70a1f142b30a08ab54a02146a4c2005">requestOnceWithInt16()</a>, <a class="el" href="classArClientBase.html#a539a9fd371bade04042cf48191afd674">requestOnceWithInt32()</a>, <a class="el" href="classArClientBase.html#a3b3783c386707050eb83287cb53dd07b">requestOnceWithString()</a>, and <a class="el" href="classArClientBase.html#aee1400e28ba15f18c032ea7f3b414cfd">requestStop()</a>.</p>

</div>
</div>
<a class="anchor" id="a33a8c7986a086a7a9ef2b68145a85d1c"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">struct in_addr* ArClientBase::getTcpAddr </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Internal function to get the socket (no one should need this) </p>

<p>References <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArSocket.html#a8145c15c517a8be617630b22b854c4f4">ArSocket::inAddr()</a>, <a class="el" href="classArClientBase.html#a75411858f1058ff503f42bbeab88858a">internalBlockingConnect()</a>, <a class="el" href="classArClientBase.html#a39d46ebf1e5e28326fbe60c569f113e0">internalNonBlockingConnectContinue()</a>, <a class="el" href="classArClientBase.html#a4c5b2436e7efbce5f7325e3cafd085d8">internalNonBlockingConnectStart()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/group__easy.html#gaeb5db5d20c1794795ec0d141ac305aa1">log()</a>, and <a class="el" href="classArClientBase.html#a24f77b01dff93fc5f6748bad64eb96d9">myTcpSocket</a>.</p>

</div>
</div>
<a class="anchor" id="aed41a05522e8226f224b8548ea381bfb"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArSocket.html">ArSocket</a>* ArClientBase::getTcpSocket </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Internal function to get the tcp socket. </p>

<p>References <a class="el" href="classArClientBase.html#a24f77b01dff93fc5f6748bad64eb96d9">myTcpSocket</a>.</p>

<p>Referenced by <a class="el" href="classArClientSwitchManager.html#aeaabc93d0e6c64f701c004e57f7612b9">ArClientSwitchManager::clientSwitch()</a>, <a class="el" href="classArCentralManager.html#aa12fce8de08e80fa59053dfd028942b6">ArCentralManager::forwarderServerClientRemovedCallback()</a>, <a class="el" href="classArCentralManager.html#aa98c3a6a711661870f52695b97307bb3">ArCentralManager::netClientList()</a>, <a class="el" href="classArCentralManager.html#a2365aa28aa0c04d2c4b567ab9baa0054">ArCentralManager::runThread()</a>, and <a class="el" href="classArClientSwitchManager.html#ab4191278fb27c623970544a6076e1633">ArClientSwitchManager::runThread()</a>.</p>

</div>
</div>
<a class="anchor" id="a7c413fed28c90c2784d685e44c6cc105"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArSocket.html">ArSocket</a>* ArClientBase::getUdpSocket </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Internal function to get the udp socket. </p>

<p>References <a class="el" href="classArClientBase.html#ae89e9630b0e0de6a4b1d5ed7dfd9a78b">myUdpSocket</a>.</p>

</div>
</div>
<a class="anchor" id="a75411858f1058ff503f42bbeab88858a"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool ArClientBase::internalBlockingConnect </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>host</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>port</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>log</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>user</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>password</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArSocket.html">ArSocket</a> *&#160;</td>
          <td class="paramname"><em>tcpSocket</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>openOnIP</em> = <code>NULL</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Internal function that'll do the connection (mainly for switch connections) </p>

<p>References <a class="el" href="classArClientBase.html#a39d46ebf1e5e28326fbe60c569f113e0">internalNonBlockingConnectContinue()</a>, <a class="el" href="classArClientBase.html#a4c5b2436e7efbce5f7325e3cafd085d8">internalNonBlockingConnectStart()</a>, <a class="el" href="classArClientBase.html#a5566cb8173dd4c9ab4bcd3927c6af08fab549562d74947d93718d2e84d26c83e2">NON_BLOCKING_CONNECTED</a>, <a class="el" href="classArClientBase.html#a5566cb8173dd4c9ab4bcd3927c6af08fa5247a113a022404af73587ada6251d55">NON_BLOCKING_CONTINUE</a>, and <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/group__easy.html#ga4dfb878a3f9123b8dd96ae05b2fd94cb">ArUtil::sleep()</a>.</p>

<p>Referenced by <a class="el" href="classArClientBase.html#aafda00e4b6b85c5ddbfd55d54575e441">blockingConnect()</a>, and <a class="el" href="classArClientBase.html#a33a8c7986a086a7a9ef2b68145a85d1c">getTcpAddr()</a>.</p>

</div>
</div>
<a class="anchor" id="a4ff058a24b4b23152753340e3a99bc77"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool ArClientBase::internalConnect </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>host</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>port</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>obsolete</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>openOnIP</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>References <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArSocket.html#ae9d803dcf9ad0bb72b790d3098ca8dc5">ArSocket::connect()</a>, <a class="el" href="classArClientBase.html#a30a0d249eb8828a2a0146d1e05914fca">internalStartUdp()</a>, <a class="el" href="classArClientBase.html#a7e9cfee673d111e2eee718651639522d">internalSwitchState()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#a43a8b3789126c818f390f24bdbceccce">ArLog::log()</a>, <a class="el" href="classArClientBase.html#a71b57a82dd96c0e3ac7666c758f530b0">myDebugLogging</a>, <a class="el" href="classArClientBase.html#a94b7d7d35ec4ddbea9658b53e76f47e0">myLogPrefix</a>, <a class="el" href="classArClientBase.html#af4a14693fd1eb0990ca77adc1532d3f3">myQuiet</a>, <a class="el" href="classArClientBase.html#a24f77b01dff93fc5f6748bad64eb96d9">myTcpSocket</a>, <a class="el" href="classArClientBase.html#a1d239b09ee5bcf5e23ad2b011e343ce5">myUdpPort</a>, <a class="el" href="classArClientBase.html#ae4efc14ab439bbdfb50650242215c4b7">myVerboseLogLevel</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#ac8cc0fb3aa323ab2a1c21340fdd1dce3a7040faf60eeb155eaa85d439b1066ca1">ArLog::Normal</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArSocket.html#a657700645f097c3b53c2f5bb8c97cb7e">ArSocket::setNonBlock()</a>, <a class="el" href="classArClientBase.html#af81d1a763266af658676640386e0bdf0a68d3d360258b80db85e7b0eb2220e7e4">STATE_FAILED_CONNECTION</a>, <a class="el" href="classArClientBase.html#af81d1a763266af658676640386e0bdf0ae8788d50c4490a33e2d1d1532913001f">STATE_OPENED_SOCKET</a>, and <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#ac8cc0fb3aa323ab2a1c21340fdd1dce3a012daf6573594f91242f8dd7c02eb74b">ArLog::Terse</a>.</p>

<p>Referenced by <a class="el" href="classArClientBase.html#a4c5b2436e7efbce5f7325e3cafd085d8">internalNonBlockingConnectStart()</a>.</p>

</div>
</div>
<a class="anchor" id="a39d46ebf1e5e28326fbe60c569f113e0"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classArClientBase.html#a5566cb8173dd4c9ab4bcd3927c6af08f">ArClientBase::NonBlockingConnectReturn</a> ArClientBase::internalNonBlockingConnectContinue </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Internal function that'll start the non blocking connection (mainly for switch connections) </p>

<p>References <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArSocket.html#a89ab9a4e404526343ccf6ba3b6644c58">ArSocket::close()</a>, <a class="el" href="classArNetPacket.html#a967d1901ff4e9cc53e31383eaa3bb609">ArNetPacket::empty()</a>, <a class="el" href="classArClientBase.html#a7e9cfee673d111e2eee718651639522d">internalSwitchState()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html#a7b6aee74872c19fb8829d96dc3e52f34">ArMutex::lock()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#a43a8b3789126c818f390f24bdbceccce">ArLog::log()</a>, <a class="el" href="classArClientBase.html#a156525a1b5ca6a26c8b72c48b3c06848">loopOnce()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/group__easy.html#gabfac503dbf12dac57c8dc133d0b034a1">ArTime::mSecSince()</a>, <a class="el" href="classArClientBase.html#ad6d34b3b54e4134bc84d573994cb2b25">myDataMutex</a>, <a class="el" href="classArClientBase.html#a71b57a82dd96c0e3ac7666c758f530b0">myDebugLogging</a>, <a class="el" href="classArClientBase.html#a94b7d7d35ec4ddbea9658b53e76f47e0">myLogPrefix</a>, <a class="el" href="classArClientBase.html#ae6749c53f5e6e667a9e7012159a2868d">myNonBlockingConnectState</a>, <a class="el" href="classArClientBase.html#af4a14693fd1eb0990ca77adc1532d3f3">myQuiet</a>, <a class="el" href="classArClientBase.html#ac548a76a6b8c7dd4791b3db9333e30f8">myStartedConnection</a>, <a class="el" href="classArClientBase.html#a8cb9be4e9e2155a66cd2e83529ddba40">myStartedUdpConnection</a>, <a class="el" href="classArClientBase.html#a996c8c096a233ef3ed71583e5bc5dd58">myState</a>, <a class="el" href="classArClientBase.html#a8fde37a425ee2ca259ab2da147b6ee64">myTcpOnlyFrom</a>, <a class="el" href="classArClientBase.html#aa9d969c1c88c9059cd0c1787be74389c">myTcpOnlyTo</a>, <a class="el" href="classArClientBase.html#a24f77b01dff93fc5f6748bad64eb96d9">myTcpSocket</a>, <a class="el" href="classArClientBase.html#a8add18e6bd5dc78350c19e63b2e31acb">myTimeoutTime</a>, <a class="el" href="classArClientBase.html#a5c2cf4efb62aebe7add51bff09b438f4">myUdpConfirmedFrom</a>, <a class="el" href="classArClientBase.html#a5b8dea940f32699d25610fba6c5a8f63">myUdpConfirmedTo</a>, <a class="el" href="classArClientBase.html#ae89e9630b0e0de6a4b1d5ed7dfd9a78b">myUdpSocket</a>, <a class="el" href="classArClientBase.html#ae4efc14ab439bbdfb50650242215c4b7">myVerboseLogLevel</a>, <a class="el" href="classArClientBase.html#a5566cb8173dd4c9ab4bcd3927c6af08fab549562d74947d93718d2e84d26c83e2">NON_BLOCKING_CONNECTED</a>, <a class="el" href="classArClientBase.html#a5566cb8173dd4c9ab4bcd3927c6af08fa5247a113a022404af73587ada6251d55">NON_BLOCKING_CONTINUE</a>, <a class="el" href="classArClientBase.html#a5566cb8173dd4c9ab4bcd3927c6af08fa33c6c425717634c2e0988d8ed09cc5a1">NON_BLOCKING_FAILED</a>, <a class="el" href="classArClientBase.html#a35dcde5f344eaa074ca8f9d24f8eff98acfa60790190c56dbc6ac2c6d6a28b9e6">NON_BLOCKING_STATE_NONE</a>, <a class="el" href="classArClientBase.html#a35dcde5f344eaa074ca8f9d24f8eff98a4d7debec8a6eb594197dd7e8bd923df5">NON_BLOCKING_STATE_TCP</a>, <a class="el" href="classArClientBase.html#a35dcde5f344eaa074ca8f9d24f8eff98aad33312bd96237d4ac9921ab1e7f1609">NON_BLOCKING_STATE_UDP</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#ac8cc0fb3aa323ab2a1c21340fdd1dce3a7040faf60eeb155eaa85d439b1066ca1">ArLog::Normal</a>, <a class="el" href="classArClientBase.html#ad0c16dee93dd68923309ccad6ab79128">sendPacketTcp()</a>, <a class="el" href="classArNetPacket.html#abdd7e7d8f5de66e2b9131c0d3c548a3e">ArNetPacket::setCommand()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/group__easy.html#ga7c269e161c8e7cb56bde73dea501a619">ArTime::setToNow()</a>, <a class="el" href="classArClientBase.html#af81d1a763266af658676640386e0bdf0ae25062edaf7738d1b4bb46824fecb562">STATE_CONNECTED</a>, <a class="el" href="classArClientBase.html#af81d1a763266af658676640386e0bdf0a68d3d360258b80db85e7b0eb2220e7e4">STATE_FAILED_CONNECTION</a>, <a class="el" href="classArClientBase.html#af81d1a763266af658676640386e0bdf0a00a87398679ccc603667d8df5863f528">STATE_LOST_CONNECTION</a>, <a class="el" href="classArClientBase.html#af81d1a763266af658676640386e0bdf0a2dc9a243a788b28855a2120ff03d91c1">STATE_NO_CONNECTION</a>, <a class="el" href="classArClientBase.html#af81d1a763266af658676640386e0bdf0a02f2e7a7258afdcb09500599fce5e34a">STATE_REJECTED</a>, <a class="el" href="classArClientCommands.html#a00074f9d9e04007dc302b68f345da0ada7bea5a2b6ce1afe50f03230575e6b840">ArClientCommands::TCP_ONLY</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#ac8cc0fb3aa323ab2a1c21340fdd1dce3a012daf6573594f91242f8dd7c02eb74b">ArLog::Terse</a>, and <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html#afb51b5514a9456f23441e479fe58fb46">ArMutex::unlock()</a>.</p>

<p>Referenced by <a class="el" href="classArCentralForwarder.html#a9bde96b12cad883cdaeac1c7ea7d06f4">ArCentralForwarder::connectingCallOnce()</a>, <a class="el" href="classArClientBase.html#a33a8c7986a086a7a9ef2b68145a85d1c">getTcpAddr()</a>, and <a class="el" href="classArClientBase.html#a75411858f1058ff503f42bbeab88858a">internalBlockingConnect()</a>.</p>

</div>
</div>
<a class="anchor" id="a4c5b2436e7efbce5f7325e3cafd085d8"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classArClientBase.html#a5566cb8173dd4c9ab4bcd3927c6af08f">ArClientBase::NonBlockingConnectReturn</a> ArClientBase::internalNonBlockingConnectStart </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>host</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>port</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>log</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>user</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>password</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArSocket.html">ArSocket</a> *&#160;</td>
          <td class="paramname"><em>tcpSocket</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>openOnIP</em> = <code>NULL</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Internal function that'll start the non blocking connection (mainly for switch connections) </p>

<p>References <a class="el" href="classArClientBase.html#acadc0bdb42259b3d7ad76cd942f2c660">clear()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArSocket.html#a89ab9a4e404526343ccf6ba3b6644c58">ArSocket::close()</a>, <a class="el" href="classArClientBase.html#a4ff058a24b4b23152753340e3a99bc77">internalConnect()</a>, <a class="el" href="classArClientBase.html#a30a0d249eb8828a2a0146d1e05914fca">internalStartUdp()</a>, <a class="el" href="classArClientBase.html#a7e9cfee673d111e2eee718651639522d">internalSwitchState()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html#a7b6aee74872c19fb8829d96dc3e52f34">ArMutex::lock()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#a43a8b3789126c818f390f24bdbceccce">ArLog::log()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/group__easy.html#gaeb5db5d20c1794795ec0d141ac305aa1">log()</a>, <a class="el" href="classArClientBase.html#a156525a1b5ca6a26c8b72c48b3c06848">loopOnce()</a>, <a class="el" href="classArClientBase.html#ad6d34b3b54e4134bc84d573994cb2b25">myDataMutex</a>, <a class="el" href="classArClientBase.html#a71b57a82dd96c0e3ac7666c758f530b0">myDebugLogging</a>, <a class="el" href="classArClientBase.html#ad388500910d17f967ffb9457b1995710">myHost</a>, <a class="el" href="classArClientBase.html#a94b7d7d35ec4ddbea9658b53e76f47e0">myLogPrefix</a>, <a class="el" href="classArClientBase.html#ae6749c53f5e6e667a9e7012159a2868d">myNonBlockingConnectState</a>, <a class="el" href="classArClientBase.html#acad6369b983172d3092c65def1a36edc">myPassword</a>, <a class="el" href="classArClientBase.html#a1486b59cf86991bc2d34c975146d7294">myPort</a>, <a class="el" href="classArClientBase.html#af4a14693fd1eb0990ca77adc1532d3f3">myQuiet</a>, <a class="el" href="classArClientBase.html#ac548a76a6b8c7dd4791b3db9333e30f8">myStartedConnection</a>, <a class="el" href="classArClientBase.html#a996c8c096a233ef3ed71583e5bc5dd58">myState</a>, <a class="el" href="classArClientBase.html#aee35e95e56e2dceea4ea7cbd10ae955d">myTcpReceiver</a>, <a class="el" href="classArClientBase.html#a24f77b01dff93fc5f6748bad64eb96d9">myTcpSocket</a>, <a class="el" href="classArClientBase.html#ae89e9630b0e0de6a4b1d5ed7dfd9a78b">myUdpSocket</a>, <a class="el" href="classArClientBase.html#a61e3d4646c2785d2582c1b19fdd514f3">myUser</a>, <a class="el" href="classArClientBase.html#a5566cb8173dd4c9ab4bcd3927c6af08fa5247a113a022404af73587ada6251d55">NON_BLOCKING_CONTINUE</a>, <a class="el" href="classArClientBase.html#a5566cb8173dd4c9ab4bcd3927c6af08fa33c6c425717634c2e0988d8ed09cc5a1">NON_BLOCKING_FAILED</a>, <a class="el" href="classArClientBase.html#a35dcde5f344eaa074ca8f9d24f8eff98a4d7debec8a6eb594197dd7e8bd923df5">NON_BLOCKING_STATE_TCP</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#ac8cc0fb3aa323ab2a1c21340fdd1dce3a7040faf60eeb155eaa85d439b1066ca1">ArLog::Normal</a>, <a class="el" href="classArNetPacketReceiverTcp.html#aa91c0cb40e86f21dd3af22567f1c7a07">ArNetPacketReceiverTcp::setQuiet()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/group__easy.html#ga7c269e161c8e7cb56bde73dea501a619">ArTime::setToNow()</a>, <a class="el" href="classArClientBase.html#af81d1a763266af658676640386e0bdf0a68d3d360258b80db85e7b0eb2220e7e4">STATE_FAILED_CONNECTION</a>, <a class="el" href="classArClientBase.html#af81d1a763266af658676640386e0bdf0a00a87398679ccc603667d8df5863f528">STATE_LOST_CONNECTION</a>, <a class="el" href="classArClientBase.html#af81d1a763266af658676640386e0bdf0a2dc9a243a788b28855a2120ff03d91c1">STATE_NO_CONNECTION</a>, <a class="el" href="classArClientBase.html#af81d1a763266af658676640386e0bdf0ae8788d50c4490a33e2d1d1532913001f">STATE_OPENED_SOCKET</a>, <a class="el" href="classArClientBase.html#af81d1a763266af658676640386e0bdf0a02f2e7a7258afdcb09500599fce5e34a">STATE_REJECTED</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#ac8cc0fb3aa323ab2a1c21340fdd1dce3a012daf6573594f91242f8dd7c02eb74b">ArLog::Terse</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArSocket.html#aa92f0db004d5642efb4298e4fcad2738">ArSocket::transfer()</a>, and <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html#afb51b5514a9456f23441e479fe58fb46">ArMutex::unlock()</a>.</p>

<p>Referenced by <a class="el" href="classArClientBase.html#a33a8c7986a086a7a9ef2b68145a85d1c">getTcpAddr()</a>, <a class="el" href="classArClientBase.html#a75411858f1058ff503f42bbeab88858a">internalBlockingConnect()</a>, and <a class="el" href="classArCentralForwarder.html#adeca336c1d24c92a7d4b9608b40ec064">ArCentralForwarder::startingCallOnce()</a>.</p>

</div>
</div>
<a class="anchor" id="a30a0d249eb8828a2a0146d1e05914fca"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void ArClientBase::internalStartUdp </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>References <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArSocket.html#a65d4a673234731800cb0f0fd399f2e2a">ArSocket::create()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArSocket.html#a275484e4c9c98f05e61d7427ac3dcac6">ArSocket::findValidPort()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArSocket.html#a8145c15c517a8be617630b22b854c4f4">ArSocket::inAddr()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArSocket.html#a34005874b46b174cfff549bcd8f50958">ArSocket::inPort()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#a43a8b3789126c818f390f24bdbceccce">ArLog::log()</a>, <a class="el" href="classArClientBase.html#a71b57a82dd96c0e3ac7666c758f530b0">myDebugLogging</a>, <a class="el" href="classArClientBase.html#a94b7d7d35ec4ddbea9658b53e76f47e0">myLogPrefix</a>, <a class="el" href="classArClientBase.html#af4a14693fd1eb0990ca77adc1532d3f3">myQuiet</a>, <a class="el" href="classArClientBase.html#a8fde37a425ee2ca259ab2da147b6ee64">myTcpOnlyFrom</a>, <a class="el" href="classArClientBase.html#aa9d969c1c88c9059cd0c1787be74389c">myTcpOnlyTo</a>, <a class="el" href="classArClientBase.html#a24f77b01dff93fc5f6748bad64eb96d9">myTcpSocket</a>, <a class="el" href="classArClientBase.html#a1d239b09ee5bcf5e23ad2b011e343ce5">myUdpPort</a>, <a class="el" href="classArClientBase.html#a8e3638c3cf9c52be7059922a1f8e950d">myUdpSin</a>, <a class="el" href="classArClientBase.html#a6106915f3057a6e1434a7fbc483b9598">myUdpSinValid</a>, <a class="el" href="classArClientBase.html#ae89e9630b0e0de6a4b1d5ed7dfd9a78b">myUdpSocket</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArSocket.html#afd267582a359ab24bdfd04ef12f211c9">ArSocket::netToHostOrder()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArSocket.html#aee3f81f6d774f883b1ff46fe9d89d02f">ArSocket::setLinger()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArSocket.html#a657700645f097c3b53c2f5bb8c97cb7e">ArSocket::setNonBlock()</a>, and <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#ac8cc0fb3aa323ab2a1c21340fdd1dce3a012daf6573594f91242f8dd7c02eb74b">ArLog::Terse</a>.</p>

<p>Referenced by <a class="el" href="classArClientBase.html#a4ff058a24b4b23152753340e3a99bc77">internalConnect()</a>, and <a class="el" href="classArClientBase.html#a4c5b2436e7efbce5f7325e3cafd085d8">internalNonBlockingConnectStart()</a>.</p>

</div>
</div>
<a class="anchor" id="a7e9cfee673d111e2eee718651639522d"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void ArClientBase::internalSwitchState </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classArClientBase.html#af81d1a763266af658676640386e0bdf0">ClientState</a>&#160;</td>
          <td class="paramname"><em>state</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>References <a class="el" href="classArClientBase.html#a996c8c096a233ef3ed71583e5bc5dd58">myState</a>, <a class="el" href="classArClientBase.html#afc4cde2222c3c322f6f0d1bd29e17db8">myStateStarted</a>, and <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/group__easy.html#ga7c269e161c8e7cb56bde73dea501a619">ArTime::setToNow()</a>.</p>

<p>Referenced by <a class="el" href="classArClientBase.html#acadc0bdb42259b3d7ad76cd942f2c660">clear()</a>, <a class="el" href="classArClientBase.html#a4ff058a24b4b23152753340e3a99bc77">internalConnect()</a>, <a class="el" href="classArClientBase.html#a39d46ebf1e5e28326fbe60c569f113e0">internalNonBlockingConnectContinue()</a>, <a class="el" href="classArClientBase.html#a4c5b2436e7efbce5f7325e3cafd085d8">internalNonBlockingConnectStart()</a>, <a class="el" href="classArClientBase.html#a156525a1b5ca6a26c8b72c48b3c06848">loopOnce()</a>, and <a class="el" href="classArClientBase.html#a8f2e8920b136953c0deccb6e3fe3ee73">processPacket()</a>.</p>

</div>
</div>
<a class="anchor" id="ae496055761ec07b824ceef7e3c6281f8"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool ArClientBase::isConnected </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>true if we're connected to a server </dd></dl>

<p>References <a class="el" href="classArClientBase.html#a996c8c096a233ef3ed71583e5bc5dd58">myState</a>, and <a class="el" href="classArClientBase.html#af81d1a763266af658676640386e0bdf0ae25062edaf7738d1b4bb46824fecb562">STATE_CONNECTED</a>.</p>

<p>Referenced by <a class="el" href="classArCentralForwarder.html#aa458c0d4f84d67c31a35ee36abfe3cea">ArCentralForwarder::connectedCallOnce()</a>, <a class="el" href="classArHybridForwarderVideo.html#ac4c93743ac228ef81562d2d163b6e2f8">ArHybridForwarderVideo::finishConstructor()</a>, and <a class="el" href="classArCentralForwarder.html#a485f9ceb0e8496dc89961700552958d6">ArCentralForwarder::~ArCentralForwarder()</a>.</p>

</div>
</div>
<a class="anchor" id="a59ad77df6c8aad1ff39791a20b122440"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool ArClientBase::isStopped </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Returns whether the client has been stopped (regardless of whether its in its own thread) </p>

<p>References <a class="el" href="classArClientBase.html#ac729f4394ce040e212dfe5bdc3a4b5a1">myIsStopped</a>.</p>

<p>Referenced by <a class="el" href="classArClientBase.html#a9f5d72f8951f20a3bea6094fcbb9af52">getPort()</a>.</p>

</div>
</div>
<a class="anchor" id="ae92349fdcb65ff332cd46f6a777d007b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool ArClientBase::isTcpOnlyFromServer </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Returns whether we only get TCP data from the server not UDP. </p>

<p>References <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html#a7b6aee74872c19fb8829d96dc3e52f34">ArMutex::lock()</a>, <a class="el" href="classArClientBase.html#ad6d34b3b54e4134bc84d573994cb2b25">myDataMutex</a>, <a class="el" href="classArClientBase.html#a8fde37a425ee2ca259ab2da147b6ee64">myTcpOnlyFrom</a>, and <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html#afb51b5514a9456f23441e479fe58fb46">ArMutex::unlock()</a>.</p>

<p>Referenced by <a class="el" href="classArCentralForwarder.html#aa458c0d4f84d67c31a35ee36abfe3cea">ArCentralForwarder::connectedCallOnce()</a>, and <a class="el" href="classArClientBase.html#a9f5d72f8951f20a3bea6094fcbb9af52">getPort()</a>.</p>

</div>
</div>
<a class="anchor" id="a160a0f61ba0dc6b72ef54309fea37cca"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool ArClientBase::isTcpOnlyToServer </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Returns whether we only send TCP data to the server. </p>

<p>References <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html#a7b6aee74872c19fb8829d96dc3e52f34">ArMutex::lock()</a>, <a class="el" href="classArClientBase.html#ad6d34b3b54e4134bc84d573994cb2b25">myDataMutex</a>, <a class="el" href="classArClientBase.html#aa9d969c1c88c9059cd0c1787be74389c">myTcpOnlyTo</a>, and <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html#afb51b5514a9456f23441e479fe58fb46">ArMutex::unlock()</a>.</p>

<p>Referenced by <a class="el" href="classArCentralForwarder.html#aa458c0d4f84d67c31a35ee36abfe3cea">ArCentralForwarder::connectedCallOnce()</a>, and <a class="el" href="classArClientBase.html#a9f5d72f8951f20a3bea6094fcbb9af52">getPort()</a>.</p>

</div>
</div>
<a class="anchor" id="ad77e87d97528439fb884be5c1f831104"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ArClientBase::logDataList </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Print out or data with descriptions. </p>

<p>References <a class="el" href="classArClientData.html#af1b38240a301f2eb25fca516e8c3dace">ArClientData::getArgumentDescription()</a>, <a class="el" href="classArClientData.html#a7cfaf09661a31d300eb4d752b2baa0d2">ArClientData::getCommand()</a>, <a class="el" href="classArClientData.html#aa2625b28e60ae7d2e0cc063b7a44a03c">ArClientData::getCommandGroup()</a>, <a class="el" href="classArClientData.html#aa5980ad70ca4e582d7429b2cf8332f79">ArClientData::getDataFlagsString()</a>, <a class="el" href="classArClientData.html#a5d1071b945d4c28835520a472472584b">ArClientData::getDescription()</a>, <a class="el" href="classArClientData.html#a05656ff87de75a74b3f7c28a8178900e">ArClientData::getFunctorList()</a>, <a class="el" href="classArClientData.html#aed5ef31cf39b926754203e96fa5bef48">ArClientData::getName()</a>, <a class="el" href="classArClientData.html#ab801708a22b159b650c0bba95a502c97">ArClientData::getReturnDescription()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html#a7b6aee74872c19fb8829d96dc3e52f34">ArMutex::lock()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#a43a8b3789126c818f390f24bdbceccce">ArLog::log()</a>, <a class="el" href="classArClientBase.html#ae37c5791539ed084a5a8b459c92a7be8">myIntDataMap</a>, <a class="el" href="classArClientBase.html#a94b7d7d35ec4ddbea9658b53e76f47e0">myLogPrefix</a>, <a class="el" href="classArClientBase.html#a3bbfee4c097f63baeb3738c623b780e5">myMapsMutex</a>, <a class="el" href="classArClientBase.html#ae4efc14ab439bbdfb50650242215c4b7">myVerboseLogLevel</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#ac8cc0fb3aa323ab2a1c21340fdd1dce3a012daf6573594f91242f8dd7c02eb74b">ArLog::Terse</a>, and <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html#afb51b5514a9456f23441e479fe58fb46">ArMutex::unlock()</a>.</p>

<p>Referenced by <a class="el" href="classArClientSimpleConnector.html#af4c6ca707c6c0f039eeb3a2a092a8160">ArClientSimpleConnector::connectClient()</a>, <a class="el" href="classArClientBase.html#a9f5d72f8951f20a3bea6094fcbb9af52">getPort()</a>, <a class="el" href="classInputHandler.html#ae6c404a77a50561dfbec6d75ad110a47">InputHandler::listData()</a>, and <a class="el" href="clientCommandLister_8cpp.html#a3c04138a5bfe5d72780bb7e82a18e627">main()</a>.</p>

</div>
</div>
<a class="anchor" id="aca6670002abd10af169aab84bd2dd1ad"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ArClientBase::logTracking </td>
          <td>(</td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>terse</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Logs the tracking information (packet and byte counts) </p>

<p>References <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArSocket.html#adacaadc3f0a9368f74d28653a51aa64b">ArSocket::getBytesRecvd()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArSocket.html#ad4caa942c5a621f7ae7d6f4e4e791734">ArSocket::getBytesSent()</a>, <a class="el" href="classArClientBase.html#aa62374104cb01052e5edb5517e7de5a0">getName()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArSocket.html#a450f731d0774186d6029425f36e2867e">ArSocket::getRecvs()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArSocket.html#a8bd089aedbebfd7492efabd66128b982">ArSocket::getSends()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html#a7b6aee74872c19fb8829d96dc3e52f34">ArMutex::lock()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#a43a8b3789126c818f390f24bdbceccce">ArLog::log()</a>, <a class="el" href="classArClientBase_1_1Tracker.html#ae77db0fcc4a56b7c1e3b05fcb6b5f13d">ArClientBase::Tracker::myBytesTcp</a>, <a class="el" href="classArClientBase_1_1Tracker.html#aa6a98130c77bddfe81cd311e617b24b5">ArClientBase::Tracker::myBytesUdp</a>, <a class="el" href="classArClientBase.html#ad6d34b3b54e4134bc84d573994cb2b25">myDataMutex</a>, <a class="el" href="classArClientBase.html#a94b7d7d35ec4ddbea9658b53e76f47e0">myLogPrefix</a>, <a class="el" href="classArClientBase_1_1Tracker.html#a7e4d641248b576a3b36b6614c6fe8eb7">ArClientBase::Tracker::myPacketsTcp</a>, <a class="el" href="classArClientBase_1_1Tracker.html#a943ac46100272dcf90af50b2ddb58ad9">ArClientBase::Tracker::myPacketsUdp</a>, <a class="el" href="classArClientBase.html#a4e41f28eb10c31de5febd1f7def2db22">myPacketTrackingMutex</a>, <a class="el" href="classArClientBase.html#a24f77b01dff93fc5f6748bad64eb96d9">myTcpSocket</a>, <a class="el" href="classArClientBase.html#af017397076e2430f561932b59f49a76c">myTrackingReceivedMap</a>, <a class="el" href="classArClientBase.html#ae1244558b7f208180a016abe882a58ab">myTrackingSentMap</a>, <a class="el" href="classArClientBase.html#ac09ba48db8d5b575c6d8b5588a102f86">myTrackingStarted</a>, <a class="el" href="classArClientBase.html#ae89e9630b0e0de6a4b1d5ed7dfd9a78b">myUdpSocket</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/group__easy.html#ga5385636d566c665eb9d722af6f65aef5">ArTime::secSince()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#ac8cc0fb3aa323ab2a1c21340fdd1dce3a012daf6573594f91242f8dd7c02eb74b">ArLog::Terse</a>, and <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html#afb51b5514a9456f23441e479fe58fb46">ArMutex::unlock()</a>.</p>

<p>Referenced by <a class="el" href="classArClientBase.html#a9f5d72f8951f20a3bea6094fcbb9af52">getPort()</a>, <a class="el" href="classInputHandler.html#ac2de3644ad0e689bd1e299db0b81be91">InputHandler::logTrackingTerse()</a>, and <a class="el" href="classInputHandler.html#a8a20cb3c607fcdf8659e76410a4c9c19">InputHandler::logTrackingVerbose()</a>.</p>

</div>
</div>
<a class="anchor" id="a156525a1b5ca6a26c8b72c48b3c06848"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ArClientBase::loopOnce </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Run the loop once. </p>

<p>References <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArSocket.html#a89ab9a4e404526343ccf6ba3b6644c58">ArSocket::close()</a>, <a class="el" href="classArClientBase.html#a59e95e3eeaec12a3925ed3eb13d13b5e">finishNonBlockingDisconnect()</a>, <a class="el" href="classArClientBase.html#a7e9cfee673d111e2eee718651639522d">internalSwitchState()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html#a7b6aee74872c19fb8829d96dc3e52f34">ArMutex::lock()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#a43a8b3789126c818f390f24bdbceccce">ArLog::log()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/group__easy.html#gabfac503dbf12dac57c8dc133d0b034a1">ArTime::mSecSince()</a>, <a class="el" href="classArClientBase.html#a26aec14fcfa968c58608fa3fb4795e6b">myCallbackMutex</a>, <a class="el" href="classArClientBase.html#a2924e0901556e5f2d23a79bc65e511ad">myCycleCallbackMutex</a>, <a class="el" href="classArClientBase.html#ad5109d7fc5c4a6927b6553982b7e9072">myCycleCallbacks</a>, <a class="el" href="classArClientBase.html#a71b57a82dd96c0e3ac7666c758f530b0">myDebugLogging</a>, <a class="el" href="classArClientBase.html#aa1dc82e053c0d07c8f7e2e72427c0d05">myDisconnectOnErrorCBList</a>, <a class="el" href="classArClientBase.html#a67c70a563ba8c2b9647c46efedb4cbca">myDisconnectSoon</a>, <a class="el" href="classArClientBase.html#a5f8ce7801ef44a2c6c30a3098ce776c2">myIsRunningAsync</a>, <a class="el" href="classArClientBase.html#a24be0a8138698517e0c4b5610e6011cf">myIsStartedDisconnect</a>, <a class="el" href="classArClientBase.html#a94b7d7d35ec4ddbea9658b53e76f47e0">myLogPrefix</a>, <a class="el" href="classArClientBase.html#af4a14693fd1eb0990ca77adc1532d3f3">myQuiet</a>, <a class="el" href="classArClientBase.html#ac98cd4dcfb34a75fc15a1af6a40bde5e">myStartedShutdown</a>, <a class="el" href="classArClientBase.html#a996c8c096a233ef3ed71583e5bc5dd58">myState</a>, <a class="el" href="classArClientBase.html#a8fde37a425ee2ca259ab2da147b6ee64">myTcpOnlyFrom</a>, <a class="el" href="classArClientBase.html#aee35e95e56e2dceea4ea7cbd10ae955d">myTcpReceiver</a>, <a class="el" href="classArClientBase.html#a5a526727ba3eb1e0c1575cca1c30cfcb">myTcpSender</a>, <a class="el" href="classArClientBase.html#a24f77b01dff93fc5f6748bad64eb96d9">myTcpSocket</a>, <a class="el" href="classArClientBase.html#ab7b5b068d808f92ddae2d5d6502dfa1d">myUdpReceiver</a>, <a class="el" href="classArClientBase.html#ae89e9630b0e0de6a4b1d5ed7dfd9a78b">myUdpSocket</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#ac8cc0fb3aa323ab2a1c21340fdd1dce3a7040faf60eeb155eaa85d439b1066ca1">ArLog::Normal</a>, <a class="el" href="classArNetPacketReceiverUdp.html#a33633a145d32b490f01c6fedf7a976b4">ArNetPacketReceiverUdp::readData()</a>, <a class="el" href="classArNetPacketReceiverTcp.html#a890d4bdcd0e68e98b78c142bb752b74d">ArNetPacketReceiverTcp::readData()</a>, <a class="el" href="classArNetPacketSenderTcp.html#a0dde27e4368adff647295a7bce68e5ff">ArNetPacketSenderTcp::sendData()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/group__easy.html#ga7c269e161c8e7cb56bde73dea501a619">ArTime::setToNow()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/group__easy.html#ga4dfb878a3f9123b8dd96ae05b2fd94cb">ArUtil::sleep()</a>, <a class="el" href="classArClientBase.html#a9e5670ac90c62d0c156bfa47a50743f2">startNonBlockingDisconnect()</a>, <a class="el" href="classArClientBase.html#af81d1a763266af658676640386e0bdf0a68d3d360258b80db85e7b0eb2220e7e4">STATE_FAILED_CONNECTION</a>, <a class="el" href="classArClientBase.html#af81d1a763266af658676640386e0bdf0a00a87398679ccc603667d8df5863f528">STATE_LOST_CONNECTION</a>, <a class="el" href="classArClientBase.html#af81d1a763266af658676640386e0bdf0a2dc9a243a788b28855a2120ff03d91c1">STATE_NO_CONNECTION</a>, <a class="el" href="classArClientBase.html#af81d1a763266af658676640386e0bdf0a02f2e7a7258afdcb09500599fce5e34a">STATE_REJECTED</a>, <a class="el" href="classArClientBase.html#a2b1aad5de83d6e9f04fd00d9bd943465">stopRunning()</a>, and <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html#afb51b5514a9456f23441e479fe58fb46">ArMutex::unlock()</a>.</p>

<p>Referenced by <a class="el" href="classArCentralForwarder.html#aa458c0d4f84d67c31a35ee36abfe3cea">ArCentralForwarder::connectedCallOnce()</a>, <a class="el" href="classArCentralForwarder.html#a0a196d9a267e16cb7a8a56b0b7269492">ArCentralForwarder::gatheringCallOnce()</a>, <a class="el" href="classArClientBase.html#a9f5d72f8951f20a3bea6094fcbb9af52">getPort()</a>, <a class="el" href="configClientToServer_8cpp.html#ab8946d6e7cc5a808b5e38e0af5c59a1f">gotConfig()</a>, <a class="el" href="classArClientBase.html#a39d46ebf1e5e28326fbe60c569f113e0">internalNonBlockingConnectContinue()</a>, <a class="el" href="classArClientBase.html#a4c5b2436e7efbce5f7325e3cafd085d8">internalNonBlockingConnectStart()</a>, <a class="el" href="classArClientSwitchManager.html#ab4191278fb27c623970544a6076e1633">ArClientSwitchManager::runThread()</a>, and <a class="el" href="classArClientBase.html#aee8cd490ba2ce7dcd483aeb97179b39b">runThread()</a>.</p>

</div>
</div>
<a class="anchor" id="a8f2e8920b136953c0deccb6e3fe3ee73"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ArClientBase::processPacket </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classArNetPacket.html">ArNetPacket</a> *&#160;</td>
          <td class="paramname"><em>packet</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>tcp</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Process the packet wherever it came from. </p>
<p>see if we've opened the socket and this is an intro </p>

<p>References <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArBasePacket.html#ab300d387c442be9ab025e2c089bbd620">ArBasePacket::bufToByte2()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArBasePacket.html#a8f1536daa451024715fe82cec495e826">ArBasePacket::bufToStr()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArBasePacket.html#ac2d63293b9a983d18430eceb0edbf0b1">ArBasePacket::bufToUByte2()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArBasePacket.html#a18d3e098635ec49ee8b7b43dc5c65c77">ArBasePacket::bufToUByte4()</a>, <a class="el" href="classArClientBase.html#a0cd5721a220ebddad72fd9fd5f38a276">buildList()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArBasePacket.html#a9afdff469545e32649067ed0db391046">ArBasePacket::byteToBuf()</a>, <a class="el" href="classArServerCommands.html#a4b1d453536c145108110dd2e1eee89c4acab3bf86441a65c24cc045e8b0192ce2">ArServerCommands::CONNECTED</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArBasePacket.html#a832d8c09ea2dc84a0df317ad2b24008d">ArBasePacket::dataToBuf()</a>, <a class="el" href="classArClientBase.html#ad260e1e7127e1f4116c0feca12febe7d">disconnect()</a>, <a class="el" href="classArNetPacket.html#a967d1901ff4e9cc53e31383eaa3bb609">ArNetPacket::empty()</a>, <a class="el" href="classArClientBase.html#a3f8c332ceee2111b1813b438e413e0c9">enforceProtocolVersion()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArBasePacket.html#ab647b14794b49dc6e34cdb8b82275cfe">ArBasePacket::getBuf()</a>, <a class="el" href="classArNetPacket.html#af058f6edff90eef3961f9b21bc88e2ab">ArNetPacket::getCommand()</a>, <a class="el" href="classArClientData.html#a05656ff87de75a74b3f7c28a8178900e">ArClientData::getFunctorList()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArBasePacket.html#a1ffc091d20ab361fe67a664b322976a3">ArBasePacket::getLength()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArUtil.html#ad3496dfd2693d19553a399883a4e20e1">ArUtil::getTime()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArSocket.html#af081e418282cd9d9cc72672808b9ce9d">ArSocket::hostToNetOrder()</a>, <a class="el" href="classArClientBase.html#a7e9cfee673d111e2eee718651639522d">internalSwitchState()</a>, <a class="el" href="classArClientCommands.html#a00074f9d9e04007dc302b68f345da0ada540fe9469c4660435421e6d76b6122ec">ArClientCommands::INTRODUCTION</a>, <a class="el" href="classArServerCommands.html#a4b1d453536c145108110dd2e1eee89c4af0d0401b61666b52feac6d5851263733">ArServerCommands::INTRODUCTION</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArFunctor1.html#af83451accab114c9f86b507910b0305d">ArFunctor1&lt; P1 &gt;::invoke()</a>, <a class="el" href="classArServerCommands.html#a4b1d453536c145108110dd2e1eee89c4a141500872f293f3a2e7763562b728301">ArServerCommands::LIST</a>, <a class="el" href="classArServerCommands.html#a4b1d453536c145108110dd2e1eee89c4af789d41c3ea7728e740a6a10a46b882d">ArServerCommands::LISTARGRET</a>, <a class="el" href="classArServerCommands.html#a4b1d453536c145108110dd2e1eee89c4a00142b7d8bbdb4d4264d6e4c85135b00">ArServerCommands::LISTARGRETSINGLE</a>, <a class="el" href="classArServerCommands.html#a4b1d453536c145108110dd2e1eee89c4a46ba97bce7f0fd78036ea0395fd75b49">ArServerCommands::LISTGROUPANDFLAGS</a>, <a class="el" href="classArServerCommands.html#a4b1d453536c145108110dd2e1eee89c4acff7f30183e09b5722f66f20390c6fe1">ArServerCommands::LISTGROUPANDFLAGSSINGLE</a>, <a class="el" href="classArServerCommands.html#a4b1d453536c145108110dd2e1eee89c4aa22a779d0c5e4aba20a6273dc24c3fe4">ArServerCommands::LISTSINGLE</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html#a7b6aee74872c19fb8829d96dc3e52f34">ArMutex::lock()</a>, <a class="el" href="classArClientData.html#ae0f2c404c891fa0e61154650679254da">ArClientData::lockFunctorList()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArBasePacket.html#acfab2e91ed6914dd58240994972c6963">ArBasePacket::log()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#a43a8b3789126c818f390f24bdbceccce">ArLog::log()</a>, <a class="el" href="md5_8cpp.html#a345851d2511c7174fdbf953588e4f85d">md5_append()</a>, <a class="el" href="md5_8cpp.html#af926e22dea5f31719375681662188fac">md5_finish()</a>, <a class="el" href="md5_8cpp.html#a92b88e6e65a2f3a2db4ab6ae8cc9ad54">md5_init()</a>, <a class="el" href="classArClientBase.html#a82a153519de1ab3beda199a10566a54b">myAuthKey</a>, <a class="el" href="classArClientBase.html#a26aec14fcfa968c58608fa3fb4795e6b">myCallbackMutex</a>, <a class="el" href="classArClientBase.html#a9887e654d54ea17a6894cd7015c8c3e8">myClientKey</a>, <a class="el" href="classArClientBase.html#ad6d34b3b54e4134bc84d573994cb2b25">myDataMutex</a>, <a class="el" href="classArClientBase.html#a71b57a82dd96c0e3ac7666c758f530b0">myDebugLogging</a>, <a class="el" href="classArClientBase.html#a84e12313e6af619d030a56a22e273e32">myEnforceProtocolVersion</a>, <a class="el" href="classArClientBase.html#ac81adf0af148c10fa7319073ed427555">myEnforceType</a>, <a class="el" href="classArClientBase.html#ae37c5791539ed084a5a8b459c92a7be8">myIntDataMap</a>, <a class="el" href="classArClientBase.html#aa735c53da737bf2e1ae589a479ca8ff8">myIntroKey</a>, <a class="el" href="classArClientBase.html#a419ab787b6173c92134534a31f3a27f8">myLastPacketReceived</a>, <a class="el" href="classArClientBase.html#a94b7d7d35ec4ddbea9658b53e76f47e0">myLogPrefix</a>, <a class="el" href="classArClientBase.html#a3bbfee4c097f63baeb3738c623b780e5">myMapsMutex</a>, <a class="el" href="classArClientBase.html#acad6369b983172d3092c65def1a36edc">myPassword</a>, <a class="el" href="classArClientBase.html#af4a14693fd1eb0990ca77adc1532d3f3">myQuiet</a>, <a class="el" href="classArClientBase.html#aad304ef6d6ee6d3db028cf7dfa97abde">myRejected</a>, <a class="el" href="classArClientBase.html#ac52be180c68d85b81d82b8c383d8c233">myRejectedString</a>, <a class="el" href="classArClientBase.html#ab5b19584383ece79fa760dae172f3466">myServerKey</a>, <a class="el" href="classArClientBase.html#a660354779ada598954acd34d2a1b7ff9">myServerReportedUdpPort</a>, <a class="el" href="classArClientBase.html#a59b030f44d90b166254cf2380a2c6ea3">myServerShutdownCBList</a>, <a class="el" href="classArClientBase.html#a996c8c096a233ef3ed71583e5bc5dd58">myState</a>, <a class="el" href="classArClientBase.html#a8fde37a425ee2ca259ab2da147b6ee64">myTcpOnlyFrom</a>, <a class="el" href="classArClientBase.html#aa9d969c1c88c9059cd0c1787be74389c">myTcpOnlyTo</a>, <a class="el" href="classArClientBase.html#a5b8dea940f32699d25610fba6c5a8f63">myUdpConfirmedTo</a>, <a class="el" href="classArClientBase.html#a1d239b09ee5bcf5e23ad2b011e343ce5">myUdpPort</a>, <a class="el" href="classArClientBase.html#a8e3638c3cf9c52be7059922a1f8e950d">myUdpSin</a>, <a class="el" href="classArClientBase.html#a61e3d4646c2785d2582c1b19fdd514f3">myUser</a>, <a class="el" href="classArClientBase.html#ae4efc14ab439bbdfb50650242215c4b7">myVerboseLogLevel</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#ac8cc0fb3aa323ab2a1c21340fdd1dce3a7040faf60eeb155eaa85d439b1066ca1">ArLog::Normal</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMath.html#aa6e0fe8a0dc83eab361e795105f44909">ArMath::random()</a>, <a class="el" href="classArServerCommands.html#a4b1d453536c145108110dd2e1eee89c4adee1cad7b02f1ea54bb37b17213f1a75">ArServerCommands::REJECTED</a>, <a class="el" href="classArNetPacket.html#acae24ddf871f42502daf8405d56d36c3">ArNetPacket::resetRead()</a>, <a class="el" href="classArClientBase.html#ad0c16dee93dd68923309ccad6ab79128">sendPacketTcp()</a>, <a class="el" href="classArClientBase.html#adff0830f1f877067d90261cecf887414">sendPacketUdp()</a>, <a class="el" href="classArNetPacket.html#abdd7e7d8f5de66e2b9131c0d3c548a3e">ArNetPacket::setCommand()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/group__easy.html#ga7c269e161c8e7cb56bde73dea501a619">ArTime::setToNow()</a>, <a class="el" href="classArServerCommands.html#a4b1d453536c145108110dd2e1eee89c4ac8bd4e692eabfb24d487705728b0fb6e">ArServerCommands::SHUTDOWN</a>, <a class="el" href="classArClientBase.html#af81d1a763266af658676640386e0bdf0ae25062edaf7738d1b4bb46824fecb562">STATE_CONNECTED</a>, <a class="el" href="classArClientBase.html#af81d1a763266af658676640386e0bdf0a2d6dea49e2382d59c9ef98685f1e8e2b">STATE_EXCHANGED_INTROS</a>, <a class="el" href="classArClientBase.html#af81d1a763266af658676640386e0bdf0a00a87398679ccc603667d8df5863f528">STATE_LOST_CONNECTION</a>, <a class="el" href="classArClientBase.html#af81d1a763266af658676640386e0bdf0ae8788d50c4490a33e2d1d1532913001f">STATE_OPENED_SOCKET</a>, <a class="el" href="classArClientBase.html#af81d1a763266af658676640386e0bdf0a02f2e7a7258afdcb09500599fce5e34a">STATE_REJECTED</a>, <a class="el" href="classArClientBase.html#af81d1a763266af658676640386e0bdf0ae2760604361ba1d0263e9ad255afdc79">STATE_WAITING_LIST</a>, <a class="el" href="classArClientBase.html#a2b1aad5de83d6e9f04fd00d9bd943465">stopRunning()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArBasePacket.html#a1367558f1c0ce2830072a649ad935d21">ArBasePacket::strToBuf()</a>, <a class="el" href="classArClientCommands.html#a00074f9d9e04007dc302b68f345da0ada7bea5a2b6ce1afe50f03230575e6b840">ArClientCommands::TCP_ONLY</a>, <a class="el" href="classArServerCommands.html#a4b1d453536c145108110dd2e1eee89c4afbeb928f4be2b6d4b1d4d34311e12ae7">ArServerCommands::TCP_ONLY</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#ac8cc0fb3aa323ab2a1c21340fdd1dce3a012daf6573594f91242f8dd7c02eb74b">ArLog::Terse</a>, <a class="el" href="classArClientBase.html#a224e4e8b41c1d4d9da67e2de8a56d49a">trackPacketReceived()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArBasePacket.html#aeec1b2c2dc6902e3c2b820fb2ddbf0e2">ArBasePacket::uByte2ToBuf()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArBasePacket.html#abeb94fdd3729b05abb4574903887876c">ArBasePacket::uByte4ToBuf()</a>, <a class="el" href="classArServerCommands.html#a4b1d453536c145108110dd2e1eee89c4a346278536dfe0300374f5fbaba1d6ff2">ArServerCommands::UDP_CONFIRMATION</a>, <a class="el" href="classArServerCommands.html#a4b1d453536c145108110dd2e1eee89c4a6d63f5cecb9f92808a62954496bfe279">ArServerCommands::UDP_INTRODUCTION</a>, <a class="el" href="classArClientCommands.html#a00074f9d9e04007dc302b68f345da0adad734901cda4673894786109803a3d48c">ArClientCommands::UDP_INTRODUCTION</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html#afb51b5514a9456f23441e479fe58fb46">ArMutex::unlock()</a>, and <a class="el" href="classArClientData.html#ac814d4b0ab818fd8dc7404983b195f82">ArClientData::unlockFunctorList()</a>.</p>

<p>Referenced by <a class="el" href="classArClientBase.html#a9f5d72f8951f20a3bea6094fcbb9af52">getPort()</a>, <a class="el" href="classArServerBase.html#a015990d3bc3b8a0135385b27bbaab02e">ArServerBase::processPacket()</a>, and <a class="el" href="classArClientBase.html#aace1f3cde948cc76173978a2a4062834">processPacketUdp()</a>.</p>

</div>
</div>
<a class="anchor" id="aace1f3cde948cc76173978a2a4062834"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ArClientBase::processPacketUdp </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classArNetPacket.html">ArNetPacket</a> *&#160;</td>
          <td class="paramname"><em>packet</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">struct sockaddr_in *&#160;</td>
          <td class="paramname"><em>sin</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Process a packet from udp (just hands off to processPacket) </p>

<p>References <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArBasePacket.html#a80571dd0c49cfb0717b1fc1e81176672">ArBasePacket::bufToByte4()</a>, <a class="el" href="classArNetPacket.html#af058f6edff90eef3961f9b21bc88e2ab">ArNetPacket::getCommand()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html#a7b6aee74872c19fb8829d96dc3e52f34">ArMutex::lock()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#a43a8b3789126c818f390f24bdbceccce">ArLog::log()</a>, <a class="el" href="classArClientBase.html#ad6d34b3b54e4134bc84d573994cb2b25">myDataMutex</a>, <a class="el" href="classArClientBase.html#a71b57a82dd96c0e3ac7666c758f530b0">myDebugLogging</a>, <a class="el" href="classArClientBase.html#aa735c53da737bf2e1ae589a479ca8ff8">myIntroKey</a>, <a class="el" href="classArClientBase.html#a419ab787b6173c92134534a31f3a27f8">myLastPacketReceived</a>, <a class="el" href="classArClientBase.html#a94b7d7d35ec4ddbea9658b53e76f47e0">myLogPrefix</a>, <a class="el" href="classArClientBase.html#af4a14693fd1eb0990ca77adc1532d3f3">myQuiet</a>, <a class="el" href="classArClientBase.html#a660354779ada598954acd34d2a1b7ff9">myServerReportedUdpPort</a>, <a class="el" href="classArClientBase.html#a996c8c096a233ef3ed71583e5bc5dd58">myState</a>, <a class="el" href="classArClientBase.html#a5c2cf4efb62aebe7add51bff09b438f4">myUdpConfirmedFrom</a>, <a class="el" href="classArClientBase.html#a8e3638c3cf9c52be7059922a1f8e950d">myUdpSin</a>, <a class="el" href="classArClientBase.html#ae4efc14ab439bbdfb50650242215c4b7">myVerboseLogLevel</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArSocket.html#afd267582a359ab24bdfd04ef12f211c9">ArSocket::netToHostOrder()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#ac8cc0fb3aa323ab2a1c21340fdd1dce3a7040faf60eeb155eaa85d439b1066ca1">ArLog::Normal</a>, <a class="el" href="classArClientBase.html#a8f2e8920b136953c0deccb6e3fe3ee73">processPacket()</a>, <a class="el" href="classArClientBase.html#ad0c16dee93dd68923309ccad6ab79128">sendPacketTcp()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/group__easy.html#ga7c269e161c8e7cb56bde73dea501a619">ArTime::setToNow()</a>, <a class="el" href="classArClientBase.html#af81d1a763266af658676640386e0bdf0ae25062edaf7738d1b4bb46824fecb562">STATE_CONNECTED</a>, <a class="el" href="classArClientBase.html#af81d1a763266af658676640386e0bdf0a2d6dea49e2382d59c9ef98685f1e8e2b">STATE_EXCHANGED_INTROS</a>, <a class="el" href="classArClientBase.html#af81d1a763266af658676640386e0bdf0ae2760604361ba1d0263e9ad255afdc79">STATE_WAITING_LIST</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#ac8cc0fb3aa323ab2a1c21340fdd1dce3a012daf6573594f91242f8dd7c02eb74b">ArLog::Terse</a>, <a class="el" href="classArClientCommands.html#a00074f9d9e04007dc302b68f345da0ada6012f0c13f7cb9cdd2565472fd32c2e8">ArClientCommands::UDP_CONFIRMATION</a>, <a class="el" href="classArServerCommands.html#a4b1d453536c145108110dd2e1eee89c4a6d63f5cecb9f92808a62954496bfe279">ArServerCommands::UDP_INTRODUCTION</a>, and <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html#afb51b5514a9456f23441e479fe58fb46">ArMutex::unlock()</a>.</p>

<p>Referenced by <a class="el" href="classArClientBase.html#a9f5d72f8951f20a3bea6094fcbb9af52">getPort()</a>.</p>

</div>
</div>
<a class="anchor" id="a416ab3c98c526e07e0e4140848409d8b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ArClientBase::remCycleCallback </td>
          <td>(</td>
          <td class="paramtype"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArFunctor.html">ArFunctor</a> *&#160;</td>
          <td class="paramname"><em>functor</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Removes a functor called every cycle. </p>
<p>cycleCallbacks are called every cycle, and are in no particular order, since all they should do is send packets, never any processing You cannot remove a cycle callback from within a cycle or it will deadlock</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">functor</td><td>callback to remove </td></tr>
  </table>
  </dd>
</dl>

<p>References <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html#a7b6aee74872c19fb8829d96dc3e52f34">ArMutex::lock()</a>, <a class="el" href="classArClientBase.html#a2924e0901556e5f2d23a79bc65e511ad">myCycleCallbackMutex</a>, <a class="el" href="classArClientBase.html#ad5109d7fc5c4a6927b6553982b7e9072">myCycleCallbacks</a>, and <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html#afb51b5514a9456f23441e479fe58fb46">ArMutex::unlock()</a>.</p>

<p>Referenced by <a class="el" href="classArClientBase.html#a9f5d72f8951f20a3bea6094fcbb9af52">getPort()</a>, and <a class="el" href="classArClientRatioDrive.html#ae86a81dedee892fa43335570d3c2982a">ArClientRatioDrive::~ArClientRatioDrive()</a>.</p>

</div>
</div>
<a class="anchor" id="a7cb696df3e36f4d8258ed0091e553349"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ArClientBase::remDisconnectOnErrorCB </td>
          <td>(</td>
          <td class="paramtype"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArFunctor.html">ArFunctor</a> *&#160;</td>
          <td class="paramname"><em>functor</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Removes a call for when a disconnection has occured because of error. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">functor</td><td>the functor to remove from the list of connect callbacks </td></tr>
  </table>
  </dd>
</dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classArClientBase.html#ad3e597486ac95414f45f45a5b4bece8b" title="Adds a call for when a disconnection has occured because of error. ">addDisconnectOnErrorCB</a> </dd></dl>

<p>References <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html#a7b6aee74872c19fb8829d96dc3e52f34">ArMutex::lock()</a>, <a class="el" href="classArClientBase.html#a26aec14fcfa968c58608fa3fb4795e6b">myCallbackMutex</a>, <a class="el" href="classArClientBase.html#aa1dc82e053c0d07c8f7e2e72427c0d05">myDisconnectOnErrorCBList</a>, and <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html#afb51b5514a9456f23441e479fe58fb46">ArMutex::unlock()</a>.</p>

<p>Referenced by <a class="el" href="classArClientBase.html#a9f5d72f8951f20a3bea6094fcbb9af52">getPort()</a>, and <a class="el" href="classArMapChanger.html#af0efc22bd3a1e7a6efc39743eccb6f64">ArMapChanger::~ArMapChanger()</a>.</p>

</div>
</div>
<a class="anchor" id="a904bea3bf052b9a13bba5d81e45f68f9"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool ArClientBase::remHandler </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArFunctor1.html">ArFunctor1</a>&lt; <a class="el" href="classArNetPacket.html">ArNetPacket</a> * &gt; *&#160;</td>
          <td class="paramname"><em>functor</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Removes a functor for data packets received from the server. </p>
<p>This removes a functor from being called with a packet whenever a packet for that name arrives.</p>
<dl class="section note"><dt>Note</dt><dd>Do not call <a class="el" href="classArClientBase.html#af75610dd7e91d98097de1b252d0bacd5" title="Adds a callback functor for data packets received from the server. ">addHandler()</a> or <a class="el" href="classArClientBase.html#a904bea3bf052b9a13bba5d81e45f68f9" title="Removes a functor for data packets received from the server. ">remHandler()</a> from within a handler callback, since that will possibly interfere with <a class="el" href="classArClientBase.html" title="The base client class. ">ArClientBase</a>'s iteration over the handler list as it invokes handhlers.</dd></dl>
<p>Note that if you try and remove a handler for a specific piece of data from within a handler for that specific piece of data you'll deadlock.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">name</td><td>the name of the data to use with this functor</td></tr>
    <tr><td class="paramname">functor</td><td>the functor to call with the packet when data with this name arrives</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>false is returned if this name doesn't exist in the data </dd></dl>

<p>References <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html#a7b6aee74872c19fb8829d96dc3e52f34">ArMutex::lock()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#a43a8b3789126c818f390f24bdbceccce">ArLog::log()</a>, <a class="el" href="classArClientBase.html#ae37c5791539ed084a5a8b459c92a7be8">myIntDataMap</a>, <a class="el" href="classArClientBase.html#a94b7d7d35ec4ddbea9658b53e76f47e0">myLogPrefix</a>, <a class="el" href="classArClientBase.html#a3bbfee4c097f63baeb3738c623b780e5">myMapsMutex</a>, <a class="el" href="classArClientBase.html#a38d4ea57619c2a87f91e4d6f5e33d649">myNameIntMap</a>, <a class="el" href="classArClientBase.html#ae4efc14ab439bbdfb50650242215c4b7">myVerboseLogLevel</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#ac8cc0fb3aa323ab2a1c21340fdd1dce3a7040faf60eeb155eaa85d439b1066ca1">ArLog::Normal</a>, and <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html#afb51b5514a9456f23441e479fe58fb46">ArMutex::unlock()</a>.</p>

<p>Referenced by <a class="el" href="classArClientBase.html#a6db158596a22ebe1c073b2575621c121">getState()</a>, <a class="el" href="classArCentralForwarder.html#a7656abd7fab35bcc7b21496d790b3115">ArCentralForwarder::remHandler()</a>, <a class="el" href="classArClientHandlerConfig.html#a345d02133a94ab585a96322cbead70c5">ArClientHandlerConfig::requestConfigFromServer()</a>, <a class="el" href="classArClientHandlerConfig.html#adc6992caf725403e025c8a9029d3b82a">ArClientHandlerConfig::requestLastEditablePriorityFromServer()</a>, <a class="el" href="classArClientHandlerRobotUpdate.html#ad7d541b0fcc9ac7fe3bed90f240a0d5f">ArClientHandlerRobotUpdate::stopUpdates()</a>, <a class="el" href="classArClientDataReceiver.html#aa8de45029d7e1529118a2aa3c0cb8bb4">ArClientDataReceiver&lt; C, T &gt;::~ArClientDataReceiver()</a>, and <a class="el" href="classArMapChanger.html#af0efc22bd3a1e7a6efc39743eccb6f64">ArMapChanger::~ArMapChanger()</a>.</p>

</div>
</div>
<a class="anchor" id="a2399734098ee84b0b344644e76fc07d6"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ArClientBase::remServerShutdownCB </td>
          <td>(</td>
          <td class="paramtype"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArFunctor.html">ArFunctor</a> *&#160;</td>
          <td class="paramname"><em>functor</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Removes a call for when the server shuts down. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">functor</td><td>the functor to remove from the list of connect callbacks </td></tr>
  </table>
  </dd>
</dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classArClientBase.html#a0d003cf30314ff582e08f4254e8d4656" title="Adds a call for when the server shuts down. ">addServerShutdownCB</a> </dd></dl>

<p>References <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html#a7b6aee74872c19fb8829d96dc3e52f34">ArMutex::lock()</a>, <a class="el" href="classArClientBase.html#a26aec14fcfa968c58608fa3fb4795e6b">myCallbackMutex</a>, <a class="el" href="classArClientBase.html#a59b030f44d90b166254cf2380a2c6ea3">myServerShutdownCBList</a>, and <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html#afb51b5514a9456f23441e479fe58fb46">ArMutex::unlock()</a>.</p>

<p>Referenced by <a class="el" href="classArClientBase.html#a9f5d72f8951f20a3bea6094fcbb9af52">getPort()</a>, and <a class="el" href="classArMapChanger.html#af0efc22bd3a1e7a6efc39743eccb6f64">ArMapChanger::~ArMapChanger()</a>.</p>

</div>
</div>
<a class="anchor" id="a0a36a40fe2598eb214368ae8c3a26ca1"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool ArClientBase::request </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">long&#160;</td>
          <td class="paramname"><em>mSec</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classArNetPacket.html">ArNetPacket</a> *&#160;</td>
          <td class="paramname"><em>packet</em> = <code>NULL</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Request some data every <em>mSec</em> milliseconds. </p>
<p>This requests data from the server for the given name, at a given interval, optionally passing along data with the request.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">name</td><td>the name of the data to request from the server</td></tr>
    <tr><td class="paramname">mSec</td><td>request interval: the number of milliseconds we want a refresh on this data, if this number is 0 then the server will send the information as often as it is available; if -1, then the server will send the information only when it changes (for broadcast type packets)</td></tr>
    <tr><td class="paramname">packet</td><td>a packet to use for the request, may contain data to use as parameters or arguments along with the request. </td></tr>
  </table>
  </dd>
</dl>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="getVideoExample_8cpp-example.html#a38">getVideoExample.cpp</a>, and <a class="el" href="ptzCameraClientExample_8cpp-example.html#a14">ptzCameraClientExample.cpp</a>.</dd>
</dl>
<p>References <a class="el" href="classArClientBase.html#ac50bd95e8a0649f6347745c10176da74">findCommandFromName()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#a43a8b3789126c818f390f24bdbceccce">ArLog::log()</a>, <a class="el" href="classArClientBase.html#a94b7d7d35ec4ddbea9658b53e76f47e0">myLogPrefix</a>, <a class="el" href="classArClientBase.html#ae4efc14ab439bbdfb50650242215c4b7">myVerboseLogLevel</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#ac8cc0fb3aa323ab2a1c21340fdd1dce3a7040faf60eeb155eaa85d439b1066ca1">ArLog::Normal</a>, and <a class="el" href="classArClientBase.html#a6dcbb42038ccfa79e85c45a89aa6df0b">requestByCommand()</a>.</p>

<p>Referenced by <a class="el" href="classArClientDataReceiver.html#a34540406b6c5ab5d9e5ea300d747df3a">ArClientDataReceiver&lt; C, T &gt;::ArClientDataReceiver()</a>, <a class="el" href="classArMapChanger.html#aff206ab7c8c77f5c3da8abaf77f515ed">ArMapChanger::ArMapChanger()</a>, <a class="el" href="classArCentralForwarder.html#a0a196d9a267e16cb7a8a56b0b7269492">ArCentralForwarder::gatheringCallOnce()</a>, <a class="el" href="classArClientBase.html#a6db158596a22ebe1c073b2575621c121">getState()</a>, <a class="el" href="clientStringInfoExample_8cpp.html#af21395aeb5e3dd032df3f9a46211a940">handleStringsInfo()</a>, <a class="el" href="getVideoExample_8cpp.html#a3c04138a5bfe5d72780bb7e82a18e627">main()</a>, <a class="el" href="classOutputHandler.html#acf4f3cc64225c0eddef5e62e05bf535e">OutputHandler::OutputHandler()</a>, <a class="el" href="classArClientHandlerRobotUpdate.html#a308497682f0b294307f76b3738509c48">ArClientHandlerRobotUpdate::requestUpdates()</a>, and <a class="el" href="classArClientHandlerCamera.html#aad4510c0bbae4ba3b0503cc471b9ef3c">ArClientHandlerCamera::requestUpdates()</a>.</p>

</div>
</div>
<a class="anchor" id="a6dcbb42038ccfa79e85c45a89aa6df0b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool ArClientBase::requestByCommand </td>
          <td>(</td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>command</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">long&#160;</td>
          <td class="paramname"><em>mSec</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classArNetPacket.html">ArNetPacket</a> *&#160;</td>
          <td class="paramname"><em>packet</em> = <code>NULL</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Request some data every mSec milliseconds by command not name. </p>
<p>This requests data from the server for the given name, at mSec milliseconds interval, optionally passing along data for the request.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">command</td><td>the command number of the data to request</td></tr>
    <tr><td class="paramname">mSec</td><td>the number of milliseconds we want a refresh on this data, if this number is 0 then the server will send the information as often as it is available; if -1, then the server will send the information only when it changes (for broadcast type packets)</td></tr>
    <tr><td class="paramname">packet</td><td>the packet that contains the data to use as argument </td></tr>
  </table>
  </dd>
</dl>

<p>References <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArBasePacket.html#a6ab2c8b1224dc27fc96f22ff8f027e28">ArBasePacket::byte4ToBuf()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArBasePacket.html#a832d8c09ea2dc84a0df317ad2b24008d">ArBasePacket::dataToBuf()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArBasePacket.html#ab647b14794b49dc6e34cdb8b82275cfe">ArBasePacket::getBuf()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArBasePacket.html#a1ffc091d20ab361fe67a664b322976a3">ArBasePacket::getLength()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArBasePacket.html#ae46601e750b76486525b09f7898dda94">ArBasePacket::getReadLength()</a>, <a class="el" href="classArClientCommands.html#a00074f9d9e04007dc302b68f345da0adab3479a9230678a1654c9da450b378631">ArClientCommands::REQUEST</a>, <a class="el" href="classArNetPacket.html#acae24ddf871f42502daf8405d56d36c3">ArNetPacket::resetRead()</a>, <a class="el" href="classArClientBase.html#ad0c16dee93dd68923309ccad6ab79128">sendPacketTcp()</a>, <a class="el" href="classArNetPacket.html#abdd7e7d8f5de66e2b9131c0d3c548a3e">ArNetPacket::setCommand()</a>, and <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArBasePacket.html#aeec1b2c2dc6902e3c2b820fb2ddbf0e2">ArBasePacket::uByte2ToBuf()</a>.</p>

<p>Referenced by <a class="el" href="classArClientBase.html#a792f22a79dbcef9122ba69946315df16">getDataMap()</a>, <a class="el" href="classArCentralForwarder.html#a75e7c2edb086f55c8a71a0b2a82232e8">ArCentralForwarder::internalRequestChanged()</a>, and <a class="el" href="classArClientBase.html#a0a36a40fe2598eb214368ae8c3a26ca1">request()</a>.</p>

</div>
</div>
<a class="anchor" id="a2dcd11daf8d2045d460b83733e6932d0"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool ArClientBase::requestOnce </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classArNetPacket.html">ArNetPacket</a> *&#160;</td>
          <td class="paramname"><em>packet</em> = <code>NULL</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>quiet</em> = <code>false</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Request some data (or send a command) just once. </p>
<p>This requests the data from the server, but only once...</p>
<p>this is useful for things like video data that you don't want to clog up the bandwidth with... its also useful for things like sending commands</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">name</td><td>the name of the data to request </td></tr>
    <tr><td class="paramname">packet</td><td>the packet that contains the data to use as argument </td></tr>
    <tr><td class="paramname">quiet</td><td>a bool set to true to override the verbose logging of this method (generally for repeating requests); default is false to log. </td></tr>
  </table>
  </dd>
</dl>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="getVideoExample_8cpp-example.html#a39">getVideoExample.cpp</a>.</dd>
</dl>
<p>References <a class="el" href="classArClientBase.html#ac50bd95e8a0649f6347745c10176da74">findCommandFromName()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#a43a8b3789126c818f390f24bdbceccce">ArLog::log()</a>, <a class="el" href="classArClientBase.html#a94b7d7d35ec4ddbea9658b53e76f47e0">myLogPrefix</a>, <a class="el" href="classArClientBase.html#ae4efc14ab439bbdfb50650242215c4b7">myVerboseLogLevel</a>, and <a class="el" href="classArClientBase.html#a952ba6e629abdb7d01eabc247ca6cd4d">requestOnceByCommand()</a>.</p>

<p>Referenced by <a class="el" href="classArMapChanger.html#aff206ab7c8c77f5c3da8abaf77f515ed">ArMapChanger::ArMapChanger()</a>, <a class="el" href="classArClientFileFromClient.html#a99604af7d2a7e175d5cec2fe617eae6f">ArClientFileFromClient::cancelPut()</a>, <a class="el" href="classArHybridForwarderVideo.html#a461792c445b041b8ebfb9d9a9de6ab0d">ArHybridForwarderVideo::clientCycleCallback()</a>, <a class="el" href="classArCentralForwarder.html#aa458c0d4f84d67c31a35ee36abfe3cea">ArCentralForwarder::connectedCallOnce()</a>, <a class="el" href="classArClientDeleteFileOnServer.html#aef1686f5b0fa8260c1606d19dae9e5d8">ArClientDeleteFileOnServer::deleteFileFromDirectory()</a>, <a class="el" href="classArHybridForwarderVideo.html#ac4c93743ac228ef81562d2d163b6e2f8">ArHybridForwarderVideo::finishConstructor()</a>, <a class="el" href="classArCentralForwarder.html#a0a196d9a267e16cb7a8a56b0b7269492">ArCentralForwarder::gatheringCallOnce()</a>, <a class="el" href="classArClientFileToClient.html#a6c67cc9461922e8186ab5df15017fbfb">ArClientFileToClient::getFileFromDirectory()</a>, <a class="el" href="classArClientBase.html#a6db158596a22ebe1c073b2575621c121">getState()</a>, <a class="el" href="clientStringInfoExample_8cpp.html#a3c04138a5bfe5d72780bb7e82a18e627">main()</a>, <a class="el" href="classOutputHandler.html#acf4f3cc64225c0eddef5e62e05bf535e">OutputHandler::OutputHandler()</a>, <a class="el" href="classArClientFileFromClient.html#a8b742a2887c4292df9c773160b58445b">ArClientFileFromClient::putFileToDirectory()</a>, <a class="el" href="classArClientHandlerConfig.html#a0d6f204106918c9ade5aabf67a473545">ArClientHandlerConfig::reloadConfigOnServer()</a>, <a class="el" href="classArClientHandlerConfig.html#a1b67d4c949f334fe6e02fc4f0fa0aa8e">ArClientHandlerConfig::requestConfigDefaults()</a>, <a class="el" href="classArClientHandlerConfig.html#a345d02133a94ab585a96322cbead70c5">ArClientHandlerConfig::requestConfigFromServer()</a>, <a class="el" href="classArClientHandlerConfig.html#a7614987f355608abded57727d64d5163">ArClientHandlerConfig::requestDefaultConfigFromServer()</a>, <a class="el" href="classArClientHandlerConfig.html#adc6992caf725403e025c8a9029d3b82a">ArClientHandlerConfig::requestLastEditablePriorityFromServer()</a>, <a class="el" href="classArClientRatioDrive.html#a1c3c070f66917838db46b6d15b51a38a">ArClientRatioDrive::safeDrive()</a>, <a class="el" href="classArClientHandlerConfig.html#afe53ae4846a04ceea9652293d45f5d0c">ArClientHandlerConfig::saveConfigToServer()</a>, <a class="el" href="classArClientRatioDrive.html#aeadb515ed24cfb0c4483e528e2fb4bd6">ArClientRatioDrive::sendInput()</a>, <a class="el" href="classArMapChanger.html#a54e7293beac64133068f0b44cadc6b15">ArMapChanger::sendPacketList()</a>, <a class="el" href="classArClientRatioDrive.html#ad23591cb8795f2c9b79b977f9ad5d9fb">ArClientRatioDrive::stop()</a>, and <a class="el" href="classArClientRatioDrive.html#a189500484f44d98f2d0a07ac69fbd974">ArClientRatioDrive::unsafeDrive()</a>.</p>

</div>
</div>
<a class="anchor" id="a952ba6e629abdb7d01eabc247ca6cd4d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool ArClientBase::requestOnceByCommand </td>
          <td>(</td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>command</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classArNetPacket.html">ArNetPacket</a> *&#160;</td>
          <td class="paramname"><em>packet</em> = <code>NULL</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Request some data (or send a command) just once by command not name. </p>
<p>This requests the data from the server, but only once...</p>
<p>this is useful for things like video data that you don't want to clog up the bandwidth with... its also useful for things like sending commands</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">command</td><td>the command number to request </td></tr>
    <tr><td class="paramname">packet</td><td>the packet that contains the data to use as argument </td></tr>
  </table>
  </dd>
</dl>

<p>References <a class="el" href="classArClientBase.html#ad0c16dee93dd68923309ccad6ab79128">sendPacketTcp()</a>, and <a class="el" href="classArNetPacket.html#abdd7e7d8f5de66e2b9131c0d3c548a3e">ArNetPacket::setCommand()</a>.</p>

<p>Referenced by <a class="el" href="classArClientBase.html#a792f22a79dbcef9122ba69946315df16">getDataMap()</a>, <a class="el" href="classArCentralForwarder.html#a75e7c2edb086f55c8a71a0b2a82232e8">ArCentralForwarder::internalRequestChanged()</a>, <a class="el" href="classArCentralForwarder.html#ad60d51c142fd51ba3c83982e379876ff">ArCentralForwarder::internalRequestOnce()</a>, and <a class="el" href="classArClientBase.html#a2dcd11daf8d2045d460b83733e6932d0">requestOnce()</a>.</p>

</div>
</div>
<a class="anchor" id="aa45eea17535cde2664a071c0591f534a"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool ArClientBase::requestOnceByCommandUdp </td>
          <td>(</td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>command</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classArNetPacket.html">ArNetPacket</a> *&#160;</td>
          <td class="paramname"><em>packet</em> = <code>NULL</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Request some data (or send a command) just once by command not name. </p>
<p>This requests the data from the server, but only once...</p>
<p>this is useful for things like video data that you don't want to clog up the bandwidth with... its also useful for things like sending commands</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">command</td><td>the command number to request </td></tr>
    <tr><td class="paramname">packet</td><td>the packet that contains the data to use as argument </td></tr>
  </table>
  </dd>
</dl>

<p>References <a class="el" href="classArClientBase.html#aa9d969c1c88c9059cd0c1787be74389c">myTcpOnlyTo</a>, <a class="el" href="classArClientBase.html#ad0c16dee93dd68923309ccad6ab79128">sendPacketTcp()</a>, <a class="el" href="classArClientBase.html#adff0830f1f877067d90261cecf887414">sendPacketUdp()</a>, and <a class="el" href="classArNetPacket.html#abdd7e7d8f5de66e2b9131c0d3c548a3e">ArNetPacket::setCommand()</a>.</p>

<p>Referenced by <a class="el" href="classArClientBase.html#a792f22a79dbcef9122ba69946315df16">getDataMap()</a>, <a class="el" href="classArCentralForwarder.html#ad60d51c142fd51ba3c83982e379876ff">ArCentralForwarder::internalRequestOnce()</a>, and <a class="el" href="classArClientBase.html#ab7e431bdf19aa838576c7928302efe67">requestOnceUdp()</a>.</p>

</div>
</div>
<a class="anchor" id="ab7e431bdf19aa838576c7928302efe67"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool ArClientBase::requestOnceUdp </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classArNetPacket.html">ArNetPacket</a> *&#160;</td>
          <td class="paramname"><em>packet</em> = <code>NULL</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>quiet</em> = <code>false</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Request some data (or send a command) just once by UDP. </p>
<p>Send one request over UDP.</p>
<p>For example, use this method for certain kinds of data where constant streaming would be undesirable (e.g. video images that might saturate the network), or for sending a simple command. Note that since the request is sent using UDP, you cannot assume it will get there or that you will get a response.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">name</td><td>the name of the data to request </td></tr>
    <tr><td class="paramname">packet</td><td>the packet that contains the data to use as argument </td></tr>
    <tr><td class="paramname">quiet</td><td>If true, suppress verbose-level log message </td></tr>
  </table>
  </dd>
</dl>

<p>References <a class="el" href="classArClientBase.html#ac50bd95e8a0649f6347745c10176da74">findCommandFromName()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#a43a8b3789126c818f390f24bdbceccce">ArLog::log()</a>, <a class="el" href="classArClientBase.html#a94b7d7d35ec4ddbea9658b53e76f47e0">myLogPrefix</a>, <a class="el" href="classArClientBase.html#ae4efc14ab439bbdfb50650242215c4b7">myVerboseLogLevel</a>, and <a class="el" href="classArClientBase.html#aa45eea17535cde2664a071c0591f534a">requestOnceByCommandUdp()</a>.</p>

<p>Referenced by <a class="el" href="classArCentralForwarder.html#aa458c0d4f84d67c31a35ee36abfe3cea">ArCentralForwarder::connectedCallOnce()</a>, <a class="el" href="classArCentralForwarder.html#a0a196d9a267e16cb7a8a56b0b7269492">ArCentralForwarder::gatheringCallOnce()</a>, and <a class="el" href="classArClientBase.html#a6db158596a22ebe1c073b2575621c121">getState()</a>.</p>

</div>
</div>
<a class="anchor" id="a972cebefaa57d709158b5b0d2c459d0f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool ArClientBase::requestOnceWithDouble </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>val</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Request some data or send a command once with a double value as an argument. </p>

<p>References <a class="el" href="classArNetPacket.html#a7b9f461cb78f9bcc0ffa30d31784fa8e">ArNetPacket::doubleToBuf()</a>, <a class="el" href="classArClientBase.html#ac50bd95e8a0649f6347745c10176da74">findCommandFromName()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#a43a8b3789126c818f390f24bdbceccce">ArLog::log()</a>, <a class="el" href="classArClientBase.html#a94b7d7d35ec4ddbea9658b53e76f47e0">myLogPrefix</a>, <a class="el" href="classArClientBase.html#ae4efc14ab439bbdfb50650242215c4b7">myVerboseLogLevel</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#ac8cc0fb3aa323ab2a1c21340fdd1dce3a7040faf60eeb155eaa85d439b1066ca1">ArLog::Normal</a>, and <a class="el" href="classArClientBase.html#ad0c16dee93dd68923309ccad6ab79128">sendPacketTcp()</a>.</p>

<p>Referenced by <a class="el" href="classArClientBase.html#a6db158596a22ebe1c073b2575621c121">getState()</a>.</p>

</div>
</div>
<a class="anchor" id="ad70a1f142b30a08ab54a02146a4c2005"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool ArClientBase::requestOnceWithInt16 </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArTypes.html#aff7daca3c28eeaacc95b1ac07997661c">ArTypes::Byte2</a>&#160;</td>
          <td class="paramname"><em>val</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Request some data or send a command once with a 16-bit (2-byte) integer value as an argument. </p>

<p>References <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArBasePacket.html#a4a1712c143161298c10235a7739c73af">ArBasePacket::byte2ToBuf()</a>, <a class="el" href="classArClientBase.html#ac50bd95e8a0649f6347745c10176da74">findCommandFromName()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#a43a8b3789126c818f390f24bdbceccce">ArLog::log()</a>, <a class="el" href="classArClientBase.html#a94b7d7d35ec4ddbea9658b53e76f47e0">myLogPrefix</a>, <a class="el" href="classArClientBase.html#ae4efc14ab439bbdfb50650242215c4b7">myVerboseLogLevel</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#ac8cc0fb3aa323ab2a1c21340fdd1dce3a7040faf60eeb155eaa85d439b1066ca1">ArLog::Normal</a>, and <a class="el" href="classArClientBase.html#ad0c16dee93dd68923309ccad6ab79128">sendPacketTcp()</a>.</p>

<p>Referenced by <a class="el" href="classArClientBase.html#a6db158596a22ebe1c073b2575621c121">getState()</a>.</p>

</div>
</div>
<a class="anchor" id="a539a9fd371bade04042cf48191afd674"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool ArClientBase::requestOnceWithInt32 </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArTypes.html#aa9febccb890f2a2d72c3b88d2ab08855">ArTypes::Byte4</a>&#160;</td>
          <td class="paramname"><em>val</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Request some data or send a command once with a 32-bit (4-byte) integer value as an argument. </p>

<p>References <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArBasePacket.html#a6ab2c8b1224dc27fc96f22ff8f027e28">ArBasePacket::byte4ToBuf()</a>, <a class="el" href="classArClientBase.html#ac50bd95e8a0649f6347745c10176da74">findCommandFromName()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#a43a8b3789126c818f390f24bdbceccce">ArLog::log()</a>, <a class="el" href="classArClientBase.html#a94b7d7d35ec4ddbea9658b53e76f47e0">myLogPrefix</a>, <a class="el" href="classArClientBase.html#ae4efc14ab439bbdfb50650242215c4b7">myVerboseLogLevel</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#ac8cc0fb3aa323ab2a1c21340fdd1dce3a7040faf60eeb155eaa85d439b1066ca1">ArLog::Normal</a>, and <a class="el" href="classArClientBase.html#ad0c16dee93dd68923309ccad6ab79128">sendPacketTcp()</a>.</p>

<p>Referenced by <a class="el" href="classArClientBase.html#a6db158596a22ebe1c073b2575621c121">getState()</a>.</p>

</div>
</div>
<a class="anchor" id="a3b3783c386707050eb83287cb53dd07b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool ArClientBase::requestOnceWithString </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>str</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Request some data or send a command once with a string as argument. </p>
<p>This requests the data from the server, but only once...</p>
<p>this is useful for things like video data that you don't want to clog up the bandwidth with... its also useful for things like sending commands</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">name</td><td>the name of the data to request </td></tr>
    <tr><td class="paramname">str</td><td>a string to send as the packet argument </td></tr>
  </table>
  </dd>
</dl>

<p>References <a class="el" href="classArClientBase.html#ac50bd95e8a0649f6347745c10176da74">findCommandFromName()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#a43a8b3789126c818f390f24bdbceccce">ArLog::log()</a>, <a class="el" href="classArClientBase.html#a94b7d7d35ec4ddbea9658b53e76f47e0">myLogPrefix</a>, <a class="el" href="classArClientBase.html#ae4efc14ab439bbdfb50650242215c4b7">myVerboseLogLevel</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#ac8cc0fb3aa323ab2a1c21340fdd1dce3a7040faf60eeb155eaa85d439b1066ca1">ArLog::Normal</a>, <a class="el" href="classArClientBase.html#ad0c16dee93dd68923309ccad6ab79128">sendPacketTcp()</a>, and <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArBasePacket.html#a1367558f1c0ce2830072a649ad935d21">ArBasePacket::strToBuf()</a>.</p>

<p>Referenced by <a class="el" href="classArClientFileLister.html#aca63890ceb622bc531c4aef2841e2361">ArClientFileLister::getDirListing()</a>, <a class="el" href="classArClientBase.html#a6db158596a22ebe1c073b2575621c121">getState()</a>, and <a class="el" href="classArClientHandlerConfig.html#ab266be479251e49f081aaa8f80c9b4fb">ArClientHandlerConfig::requestSectionDefaults()</a>.</p>

</div>
</div>
<a class="anchor" id="aee1400e28ba15f18c032ea7f3b414cfd"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool ArClientBase::requestStop </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>name</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Don't want this data anymore. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">name</td><td>the name to stop sending </td></tr>
  </table>
  </dd>
</dl>

<p>References <a class="el" href="classArClientBase.html#ac50bd95e8a0649f6347745c10176da74">findCommandFromName()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#a43a8b3789126c818f390f24bdbceccce">ArLog::log()</a>, <a class="el" href="classArClientBase.html#a94b7d7d35ec4ddbea9658b53e76f47e0">myLogPrefix</a>, <a class="el" href="classArClientBase.html#ae4efc14ab439bbdfb50650242215c4b7">myVerboseLogLevel</a>, and <a class="el" href="classArClientBase.html#a993ac794e3e3df2a401a155600596ae8">requestStopByCommand()</a>.</p>

<p>Referenced by <a class="el" href="classArClientBase.html#a6db158596a22ebe1c073b2575621c121">getState()</a>, <a class="el" href="classArClientHandlerRobotUpdate.html#ad7d541b0fcc9ac7fe3bed90f240a0d5f">ArClientHandlerRobotUpdate::stopUpdates()</a>, and <a class="el" href="classOutputHandler.html#a6078f6edb77501d4ad866abb03950f33">OutputHandler::~OutputHandler()</a>.</p>

</div>
</div>
<a class="anchor" id="a993ac794e3e3df2a401a155600596ae8"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool ArClientBase::requestStopByCommand </td>
          <td>(</td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>command</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Don't want this data anymore, by command not name. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">command</td><td>the command number to stop </td></tr>
  </table>
  </dd>
</dl>

<p>References <a class="el" href="classArClientCommands.html#a00074f9d9e04007dc302b68f345da0ada63841de4a0664fd8b95d08a3f5dc5db6">ArClientCommands::REQUESTSTOP</a>, <a class="el" href="classArClientBase.html#ad0c16dee93dd68923309ccad6ab79128">sendPacketTcp()</a>, <a class="el" href="classArNetPacket.html#abdd7e7d8f5de66e2b9131c0d3c548a3e">ArNetPacket::setCommand()</a>, and <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArBasePacket.html#aeec1b2c2dc6902e3c2b820fb2ddbf0e2">ArBasePacket::uByte2ToBuf()</a>.</p>

<p>Referenced by <a class="el" href="classArClientBase.html#a792f22a79dbcef9122ba69946315df16">getDataMap()</a>, <a class="el" href="classArCentralForwarder.html#a75e7c2edb086f55c8a71a0b2a82232e8">ArCentralForwarder::internalRequestChanged()</a>, and <a class="el" href="classArClientBase.html#aee1400e28ba15f18c032ea7f3b414cfd">requestStop()</a>.</p>

</div>
</div>
<a class="anchor" id="a4ed44a6f3835bd41e4aff334b4dbf764"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ArClientBase::resetTracking </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Clears the tracking information (resets counters) </p>

<p>References <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html#a7b6aee74872c19fb8829d96dc3e52f34">ArMutex::lock()</a>, <a class="el" href="classArClientBase.html#a4e41f28eb10c31de5febd1f7def2db22">myPacketTrackingMutex</a>, <a class="el" href="classArClientBase.html#a24f77b01dff93fc5f6748bad64eb96d9">myTcpSocket</a>, <a class="el" href="classArClientBase.html#af017397076e2430f561932b59f49a76c">myTrackingReceivedMap</a>, <a class="el" href="classArClientBase.html#ae1244558b7f208180a016abe882a58ab">myTrackingSentMap</a>, <a class="el" href="classArClientBase.html#ac09ba48db8d5b575c6d8b5588a102f86">myTrackingStarted</a>, <a class="el" href="classArClientBase.html#ae89e9630b0e0de6a4b1d5ed7dfd9a78b">myUdpSocket</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArSocket.html#ae6623e8121740f86d339678bd374a64e">ArSocket::resetTracking()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/group__easy.html#ga7c269e161c8e7cb56bde73dea501a619">ArTime::setToNow()</a>, and <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html#afb51b5514a9456f23441e479fe58fb46">ArMutex::unlock()</a>.</p>

<p>Referenced by <a class="el" href="classArClientBase.html#a9f5d72f8951f20a3bea6094fcbb9af52">getPort()</a>, and <a class="el" href="classInputHandler.html#a720c051d91b5522dbd6cb1ea4d598d3c">InputHandler::resetTracking()</a>.</p>

</div>
</div>
<a class="anchor" id="a012118e5e43ee6e75f9d56ad5fbf2b7b"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void ArClientBase::run </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Runs the client in this thread. </p>

<p>Reimplemented from <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArASyncTask.html#a9da8602419f2c52f001f130fe489b387">ArASyncTask</a>.</p>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="getVideoExample_8cpp-example.html#a40">getVideoExample.cpp</a>.</dd>
</dl>
<p>References <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArASyncTask.html#ab1b9692583669e973fcb70fe843e556f">ArASyncTask::runInThisThread()</a>.</p>

<p>Referenced by <a class="el" href="classArClientBase.html#a9f5d72f8951f20a3bea6094fcbb9af52">getPort()</a>, and <a class="el" href="configClientToServer_8cpp.html#a3c04138a5bfe5d72780bb7e82a18e627">main()</a>.</p>

</div>
</div>
<a class="anchor" id="a778c406a8eda15109afda20521acf502"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void ArClientBase::runAsync </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Runs the client in its own thread. </p>

<p>Reimplemented from <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArASyncTask.html#a3d9b25fe57d5d4c4a7146827798dcbe0">ArASyncTask</a>.</p>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="ptzCameraClientExample_8cpp-example.html#a34">ptzCameraClientExample.cpp</a>, and <a class="el" href="robotUpdateExample_8cpp-example.html#a16">robotUpdateExample.cpp</a>.</dd>
</dl>
<p>References <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArASyncTask.html#a1219f8fc48adfc07ab59ea414585c479">ArASyncTask::create()</a>, and <a class="el" href="classArClientBase.html#a5f8ce7801ef44a2c6c30a3098ce776c2">myIsRunningAsync</a>.</p>

<p>Referenced by <a class="el" href="classArHybridForwarderVideo.html#adc89d1c8445d3345b94960d2cb21b1e3">ArHybridForwarderVideo::ArHybridForwarderVideo()</a>, <a class="el" href="classArClientBase.html#a9f5d72f8951f20a3bea6094fcbb9af52">getPort()</a>, and <a class="el" href="changeMapOnServer_8cpp.html#a3c04138a5bfe5d72780bb7e82a18e627">main()</a>.</p>

</div>
</div>
<a class="anchor" id="aee8cd490ba2ce7dcd483aeb97179b39b"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void * ArClientBase::runThread </td>
          <td>(</td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>arg</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Implements <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArASyncTask.html#a370bd38ad2a285af30cf722a9e3f4532">ArASyncTask</a>.</p>

<p>References <a class="el" href="classArClientBase.html#a156525a1b5ca6a26c8b72c48b3c06848">loopOnce()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArThread.html#a38947d1e811cabefda057a5da123539a">ArThread::myRunning</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/group__easy.html#ga4dfb878a3f9123b8dd96ae05b2fd94cb">ArUtil::sleep()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArThread.html#a718af06ca33f467f714a46f059e2455b">ArThread::threadFinished()</a>, and <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArThread.html#a2cec8be019396610a5ba10b6ffcd819e">ArThread::threadStarted()</a>.</p>

<p>Referenced by <a class="el" href="classArClientBase.html#a9f5d72f8951f20a3bea6094fcbb9af52">getPort()</a>.</p>

</div>
</div>
<a class="anchor" id="ad0c16dee93dd68923309ccad6ab79128"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool ArClientBase::sendPacketTcp </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classArNetPacket.html">ArNetPacket</a> *&#160;</td>
          <td class="paramname"><em>packet</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Send a packet over TCP. </p>

<p>References <a class="el" href="classArClientBase.html#a94b7d7d35ec4ddbea9658b53e76f47e0">myLogPrefix</a>, <a class="el" href="classArClientBase.html#a5a526727ba3eb1e0c1575cca1c30cfcb">myTcpSender</a>, <a class="el" href="classArNetPacketSenderTcp.html#acaf0baf768a46d743530ca071ce96bd8">ArNetPacketSenderTcp::sendPacket()</a>, <a class="el" href="classArClientBase.html#ac7d01b56aa8db363c7025400e85a0bb9">setupPacket()</a>, and <a class="el" href="classArClientBase.html#aa320dbc731f8743c3467659112f5b74f">trackPacketSent()</a>.</p>

<p>Referenced by <a class="el" href="classArClientBase.html#a9f5d72f8951f20a3bea6094fcbb9af52">getPort()</a>, <a class="el" href="classArClientBase.html#a39d46ebf1e5e28326fbe60c569f113e0">internalNonBlockingConnectContinue()</a>, <a class="el" href="classArClientBase.html#a8f2e8920b136953c0deccb6e3fe3ee73">processPacket()</a>, <a class="el" href="classArClientBase.html#aace1f3cde948cc76173978a2a4062834">processPacketUdp()</a>, <a class="el" href="classArClientBase.html#a6dcbb42038ccfa79e85c45a89aa6df0b">requestByCommand()</a>, <a class="el" href="classArClientBase.html#a952ba6e629abdb7d01eabc247ca6cd4d">requestOnceByCommand()</a>, <a class="el" href="classArClientBase.html#aa45eea17535cde2664a071c0591f534a">requestOnceByCommandUdp()</a>, <a class="el" href="classArClientBase.html#a972cebefaa57d709158b5b0d2c459d0f">requestOnceWithDouble()</a>, <a class="el" href="classArClientBase.html#ad70a1f142b30a08ab54a02146a4c2005">requestOnceWithInt16()</a>, <a class="el" href="classArClientBase.html#a539a9fd371bade04042cf48191afd674">requestOnceWithInt32()</a>, <a class="el" href="classArClientBase.html#a3b3783c386707050eb83287cb53dd07b">requestOnceWithString()</a>, <a class="el" href="classArClientBase.html#a993ac794e3e3df2a401a155600596ae8">requestStopByCommand()</a>, <a class="el" href="classArClientBase.html#a3d2b633b8180dec697d87733d891f5ab">setTcpOnlyFromServer()</a>, and <a class="el" href="classArClientBase.html#a9e5670ac90c62d0c156bfa47a50743f2">startNonBlockingDisconnect()</a>.</p>

</div>
</div>
<a class="anchor" id="adff0830f1f877067d90261cecf887414"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool ArClientBase::sendPacketUdp </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classArNetPacket.html">ArNetPacket</a> *&#160;</td>
          <td class="paramname"><em>packet</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Send a packet over UDP (unless client only wants tcp then sends over tcp) </p>

<p>References <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArBasePacket.html#ab647b14794b49dc6e34cdb8b82275cfe">ArBasePacket::getBuf()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArBasePacket.html#a1ffc091d20ab361fe67a664b322976a3">ArBasePacket::getLength()</a>, <a class="el" href="classArClientBase.html#a8e3638c3cf9c52be7059922a1f8e950d">myUdpSin</a>, <a class="el" href="classArClientBase.html#ae89e9630b0e0de6a4b1d5ed7dfd9a78b">myUdpSocket</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArSocket.html#aad4e9284aa39028d770a6fef0ebb62a3">ArSocket::sendTo()</a>, <a class="el" href="classArClientBase.html#ac7d01b56aa8db363c7025400e85a0bb9">setupPacket()</a>, and <a class="el" href="classArClientBase.html#aa320dbc731f8743c3467659112f5b74f">trackPacketSent()</a>.</p>

<p>Referenced by <a class="el" href="classArClientBase.html#a9f5d72f8951f20a3bea6094fcbb9af52">getPort()</a>, <a class="el" href="classArClientBase.html#a8f2e8920b136953c0deccb6e3fe3ee73">processPacket()</a>, and <a class="el" href="classArClientBase.html#aa45eea17535cde2664a071c0591f534a">requestOnceByCommandUdp()</a>.</p>

</div>
</div>
<a class="anchor" id="a11ed13bd851b342af904fc7c6695ff6e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ArClientBase::setBackupTimeout </td>
          <td>(</td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>timeoutInMins</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Sets the backup timeout. </p>
<p>Sets up the backup timeout, if there are packets to send to the server and they haven't been sent for longer than this then the connection is closed.</p>
<p>Less than 0 means this won't happen. If this is positive but less than 5 seconds then 5 seconds is used. </p>

<p>References <a class="el" href="classArClientBase.html#a9540349440d421ac8c66e92eae6bd4cc">myBackupTimeout</a>, <a class="el" href="classArClientBase.html#a5a526727ba3eb1e0c1575cca1c30cfcb">myTcpSender</a>, and <a class="el" href="classArNetPacketSenderTcp.html#aaae4827c98ee78b511d589799c1bb4ee">ArNetPacketSenderTcp::setBackupTimeout()</a>.</p>

<p>Referenced by <a class="el" href="classArCentralForwarder.html#aa458c0d4f84d67c31a35ee36abfe3cea">ArCentralForwarder::connectedCallOnce()</a>, and <a class="el" href="classArClientBase.html#a9f5d72f8951f20a3bea6094fcbb9af52">getPort()</a>.</p>

</div>
</div>
<a class="anchor" id="a751949cbde124628fa536b7a63244224"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ArClientBase::setConnectTimeoutTime </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>sec</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Sets the time to allow for connection (default 3) </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">sec</td><td>This value controls how long the client will give to connect, it is the argument in number of seconds... if &lt;= 0 then no timeout will take place. </td></tr>
  </table>
  </dd>
</dl>

<p>References <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html#a7b6aee74872c19fb8829d96dc3e52f34">ArMutex::lock()</a>, <a class="el" href="classArClientBase.html#ad6d34b3b54e4134bc84d573994cb2b25">myDataMutex</a>, <a class="el" href="classArClientBase.html#a8add18e6bd5dc78350c19e63b2e31acb">myTimeoutTime</a>, and <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html#afb51b5514a9456f23441e479fe58fb46">ArMutex::unlock()</a>.</p>

<p>Referenced by <a class="el" href="classArHybridForwarderVideo.html#adc89d1c8445d3345b94960d2cb21b1e3">ArHybridForwarderVideo::ArHybridForwarderVideo()</a>, and <a class="el" href="classArClientBase.html#a9f5d72f8951f20a3bea6094fcbb9af52">getPort()</a>.</p>

</div>
</div>
<a class="anchor" id="a9d362e67fded3e8c36f120663c7f66cd"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void ArClientBase::setRobotName </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>debugLogging</em> = <code>false</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>robotId</em> = <code>0</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Sets the optional name of the connected robot for debugging purposes. </p>
<p>The robot name is used solely for log messages.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">name</td><td>an optional char * name of the connected robot to be used in the log messages </td></tr>
    <tr><td class="paramname">debugLogging</td><td>a bool set to true if log messages should be written at the Normal level, if false, then they are written as Verbose </td></tr>
    <tr><td class="paramname">robotId</td><td>an optional int which can be appended to the robot name in the log messages; if 0, then only the robot name is logged </td></tr>
  </table>
  </dd>
</dl>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="ptzCameraClientExample_8cpp-example.html#a33">ptzCameraClientExample.cpp</a>, and <a class="el" href="robotUpdateExample_8cpp-example.html#a15">robotUpdateExample.cpp</a>.</dd>
</dl>
<p>References <a class="el" href="classArClientBase.html#a71b57a82dd96c0e3ac7666c758f530b0">myDebugLogging</a>, <a class="el" href="classArClientBase.html#a94b7d7d35ec4ddbea9658b53e76f47e0">myLogPrefix</a>, <a class="el" href="classArClientBase.html#a1675297fdb1923c0b6169e5ceed0b7c6">myRobotName</a>, <a class="el" href="classArClientBase.html#aee35e95e56e2dceea4ea7cbd10ae955d">myTcpReceiver</a>, <a class="el" href="classArClientBase.html#a5a526727ba3eb1e0c1575cca1c30cfcb">myTcpSender</a>, <a class="el" href="classArClientBase.html#ae4efc14ab439bbdfb50650242215c4b7">myVerboseLogLevel</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#ac8cc0fb3aa323ab2a1c21340fdd1dce3a7040faf60eeb155eaa85d439b1066ca1">ArLog::Normal</a>, <a class="el" href="classArNetPacketSenderTcp.html#a1fcf6884fd55109ef3bc26aaaf46de51">ArNetPacketSenderTcp::setLoggingPrefix()</a>, <a class="el" href="classArNetPacketReceiverTcp.html#a6856fa666eee1a726f24cc29f1c4dd24">ArNetPacketReceiverTcp::setLoggingPrefix()</a>, and <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#ac8cc0fb3aa323ab2a1c21340fdd1dce3a6e80d09c67dad73e9ba736e91ec893be">ArLog::Verbose</a>.</p>

<p>Referenced by <a class="el" href="classArClientBase.html#ab2cf2d19c6da6490fe4c04554a7f31b2">ArClientBase()</a>, <a class="el" href="changeMapOnServer_8cpp.html#a3c04138a5bfe5d72780bb7e82a18e627">main()</a>, <a class="el" href="classArClientSwitchManager.html#ab4191278fb27c623970544a6076e1633">ArClientSwitchManager::runThread()</a>, and <a class="el" href="classArCentralForwarder.html#adeca336c1d24c92a7d4b9608b40ec064">ArCentralForwarder::startingCallOnce()</a>.</p>

</div>
</div>
<a class="anchor" id="acbf0dcf0eff41a3fed3bc4971a610a1e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ArClientBase::setServerKey </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>serverKey</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>log</em> = <code>true</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Sets the 'key' needed to connect to the server. </p>

<p>References <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html#a7b6aee74872c19fb8829d96dc3e52f34">ArMutex::lock()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#a43a8b3789126c818f390f24bdbceccce">ArLog::log()</a>, <a class="el" href="classArClientBase.html#ad6d34b3b54e4134bc84d573994cb2b25">myDataMutex</a>, <a class="el" href="classArClientBase.html#a94b7d7d35ec4ddbea9658b53e76f47e0">myLogPrefix</a>, <a class="el" href="classArClientBase.html#ab5b19584383ece79fa760dae172f3466">myServerKey</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#ac8cc0fb3aa323ab2a1c21340fdd1dce3a7040faf60eeb155eaa85d439b1066ca1">ArLog::Normal</a>, and <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html#afb51b5514a9456f23441e479fe58fb46">ArMutex::unlock()</a>.</p>

<p>Referenced by <a class="el" href="classArClientSimpleConnector.html#af4c6ca707c6c0f039eeb3a2a092a8160">ArClientSimpleConnector::connectClient()</a>, and <a class="el" href="classArClientBase.html#a9f5d72f8951f20a3bea6094fcbb9af52">getPort()</a>.</p>

</div>
</div>
<a class="anchor" id="a3d2b633b8180dec697d87733d891f5ab"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ArClientBase::setTcpOnlyFromServer </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Sets it so we only get TCP data from the server not UDP. </p>

<p>References <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html#a7b6aee74872c19fb8829d96dc3e52f34">ArMutex::lock()</a>, <a class="el" href="classArClientBase.html#ad6d34b3b54e4134bc84d573994cb2b25">myDataMutex</a>, <a class="el" href="classArClientBase.html#a8fde37a425ee2ca259ab2da147b6ee64">myTcpOnlyFrom</a>, <a class="el" href="classArClientBase.html#ad0c16dee93dd68923309ccad6ab79128">sendPacketTcp()</a>, <a class="el" href="classArNetPacket.html#abdd7e7d8f5de66e2b9131c0d3c548a3e">ArNetPacket::setCommand()</a>, <a class="el" href="classArClientCommands.html#a00074f9d9e04007dc302b68f345da0ada7bea5a2b6ce1afe50f03230575e6b840">ArClientCommands::TCP_ONLY</a>, and <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html#afb51b5514a9456f23441e479fe58fb46">ArMutex::unlock()</a>.</p>

<p>Referenced by <a class="el" href="classArCentralForwarder.html#aa458c0d4f84d67c31a35ee36abfe3cea">ArCentralForwarder::connectedCallOnce()</a>, and <a class="el" href="classArClientBase.html#a9f5d72f8951f20a3bea6094fcbb9af52">getPort()</a>.</p>

</div>
</div>
<a class="anchor" id="a561fed6b6fa30c67318d17173abeeef8"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ArClientBase::setTcpOnlyToServer </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Sets it so we only send TCP data to the server. </p>

<p>References <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html#a7b6aee74872c19fb8829d96dc3e52f34">ArMutex::lock()</a>, <a class="el" href="classArClientBase.html#ad6d34b3b54e4134bc84d573994cb2b25">myDataMutex</a>, <a class="el" href="classArClientBase.html#aa9d969c1c88c9059cd0c1787be74389c">myTcpOnlyTo</a>, and <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html#afb51b5514a9456f23441e479fe58fb46">ArMutex::unlock()</a>.</p>

<p>Referenced by <a class="el" href="classArCentralForwarder.html#aa458c0d4f84d67c31a35ee36abfe3cea">ArCentralForwarder::connectedCallOnce()</a>, and <a class="el" href="classArClientBase.html#a9f5d72f8951f20a3bea6094fcbb9af52">getPort()</a>.</p>

</div>
</div>
<a class="anchor" id="ac7d01b56aa8db363c7025400e85a0bb9"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool ArClientBase::setupPacket </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classArNetPacket.html">ArNetPacket</a> *&#160;</td>
          <td class="paramname"><em>packet</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>References <a class="el" href="classArNetPacket.html#a5076d7a8d058ed0f6f5795891e1fca6e">ArNetPacket::finalizePacket()</a>, <a class="el" href="classArNetPacket.html#af058f6edff90eef3961f9b21bc88e2ab">ArNetPacket::getCommand()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArBasePacket.html#a1ffc091d20ab361fe67a664b322976a3">ArBasePacket::getLength()</a>, <a class="el" href="classArClientBase.html#aa62374104cb01052e5edb5517e7de5a0">getName()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#a43a8b3789126c818f390f24bdbceccce">ArLog::log()</a>, <a class="el" href="classArNetPacket.html#a11c6eb7a86ddc6ea04a49cc0ea307a64a233ff463989369cb076795dd20c44d22">ArNetPacket::MAX_LENGTH</a>, <a class="el" href="classArClientBase.html#a94b7d7d35ec4ddbea9658b53e76f47e0">myLogPrefix</a>, <a class="el" href="classArClientBase.html#a996c8c096a233ef3ed71583e5bc5dd58">myState</a>, <a class="el" href="classArClientBase.html#af81d1a763266af658676640386e0bdf0a68d3d360258b80db85e7b0eb2220e7e4">STATE_FAILED_CONNECTION</a>, <a class="el" href="classArClientBase.html#af81d1a763266af658676640386e0bdf0a00a87398679ccc603667d8df5863f528">STATE_LOST_CONNECTION</a>, <a class="el" href="classArClientBase.html#af81d1a763266af658676640386e0bdf0a2dc9a243a788b28855a2120ff03d91c1">STATE_NO_CONNECTION</a>, <a class="el" href="classArClientBase.html#af81d1a763266af658676640386e0bdf0a02f2e7a7258afdcb09500599fce5e34a">STATE_REJECTED</a>, and <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#ac8cc0fb3aa323ab2a1c21340fdd1dce3a012daf6573594f91242f8dd7c02eb74b">ArLog::Terse</a>.</p>

<p>Referenced by <a class="el" href="classArClientBase.html#ad0c16dee93dd68923309ccad6ab79128">sendPacketTcp()</a>, and <a class="el" href="classArClientBase.html#adff0830f1f877067d90261cecf887414">sendPacketUdp()</a>.</p>

</div>
</div>
<a class="anchor" id="a9e5670ac90c62d0c156bfa47a50743f2"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool ArClientBase::startNonBlockingDisconnect </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Starts the process of disconnecting from the server. </p>
<p>This method should be called in threads that should not block (such as the main GUI thread). The call should be followed by a delay of one second, followed by a call to <a class="el" href="classArClientBase.html#a59e95e3eeaec12a3925ed3eb13d13b5e" title="Finishes the process of disconnecting from the server. ">finishNonBlockingDisconnect()</a>. </p>

<p>References <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#a43a8b3789126c818f390f24bdbceccce">ArLog::log()</a>, <a class="el" href="classArClientBase.html#a71b57a82dd96c0e3ac7666c758f530b0">myDebugLogging</a>, <a class="el" href="classArClientBase.html#a94b7d7d35ec4ddbea9658b53e76f47e0">myLogPrefix</a>, <a class="el" href="classArClientBase.html#af4a14693fd1eb0990ca77adc1532d3f3">myQuiet</a>, <a class="el" href="classArClientBase.html#a5a526727ba3eb1e0c1575cca1c30cfcb">myTcpSender</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#ac8cc0fb3aa323ab2a1c21340fdd1dce3a7040faf60eeb155eaa85d439b1066ca1">ArLog::Normal</a>, <a class="el" href="classArNetPacketSenderTcp.html#a0dde27e4368adff647295a7bce68e5ff">ArNetPacketSenderTcp::sendData()</a>, <a class="el" href="classArClientBase.html#ad0c16dee93dd68923309ccad6ab79128">sendPacketTcp()</a>, <a class="el" href="classArNetPacket.html#abdd7e7d8f5de66e2b9131c0d3c548a3e">ArNetPacket::setCommand()</a>, and <a class="el" href="classArClientCommands.html#a00074f9d9e04007dc302b68f345da0ada998b99926df0606489a735001fcff084">ArClientCommands::SHUTDOWN</a>.</p>

<p>Referenced by <a class="el" href="classArClientBase.html#ad260e1e7127e1f4116c0feca12febe7d">disconnect()</a>, <a class="el" href="classArClientBase.html#a9f5d72f8951f20a3bea6094fcbb9af52">getPort()</a>, and <a class="el" href="classArClientBase.html#a156525a1b5ca6a26c8b72c48b3c06848">loopOnce()</a>.</p>

</div>
</div>
<a class="anchor" id="a2b1aad5de83d6e9f04fd00d9bd943465"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void ArClientBase::stopRunning </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Stops the thread and sets the stopped flag. </p>

<p>Reimplemented from <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArASyncTask.html#adb6a00c292ff5aa6e8db8cd9d33747ac">ArASyncTask</a>.</p>

<p>References <a class="el" href="classArClientBase.html#ac729f4394ce040e212dfe5bdc3a4b5a1">myIsStopped</a>, and <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArASyncTask.html#adb6a00c292ff5aa6e8db8cd9d33747ac">ArASyncTask::stopRunning()</a>.</p>

<p>Referenced by <a class="el" href="classArClientBase.html#a9f5d72f8951f20a3bea6094fcbb9af52">getPort()</a>, <a class="el" href="classArClientBase.html#a156525a1b5ca6a26c8b72c48b3c06848">loopOnce()</a>, and <a class="el" href="classArClientBase.html#a8f2e8920b136953c0deccb6e3fe3ee73">processPacket()</a>.</p>

</div>
</div>
<a class="anchor" id="a224e4e8b41c1d4d9da67e2de8a56d49a"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void ArClientBase::trackPacketReceived </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classArNetPacket.html">ArNetPacket</a> *&#160;</td>
          <td class="paramname"><em>packet</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>tcp</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>References <a class="el" href="classArNetPacket.html#af058f6edff90eef3961f9b21bc88e2ab">ArNetPacket::getCommand()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArBasePacket.html#a1ffc091d20ab361fe67a664b322976a3">ArBasePacket::getLength()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html#a7b6aee74872c19fb8829d96dc3e52f34">ArMutex::lock()</a>, <a class="el" href="classArClientBase.html#a4e41f28eb10c31de5febd1f7def2db22">myPacketTrackingMutex</a>, <a class="el" href="classArClientBase.html#af017397076e2430f561932b59f49a76c">myTrackingReceivedMap</a>, and <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html#afb51b5514a9456f23441e479fe58fb46">ArMutex::unlock()</a>.</p>

<p>Referenced by <a class="el" href="classArClientBase.html#a8f2e8920b136953c0deccb6e3fe3ee73">processPacket()</a>.</p>

</div>
</div>
<a class="anchor" id="aa320dbc731f8743c3467659112f5b74f"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void ArClientBase::trackPacketSent </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classArNetPacket.html">ArNetPacket</a> *&#160;</td>
          <td class="paramname"><em>packet</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>tcp</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>References <a class="el" href="classArNetPacket.html#af058f6edff90eef3961f9b21bc88e2ab">ArNetPacket::getCommand()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArBasePacket.html#a1ffc091d20ab361fe67a664b322976a3">ArBasePacket::getLength()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html#a7b6aee74872c19fb8829d96dc3e52f34">ArMutex::lock()</a>, <a class="el" href="classArClientBase.html#a4e41f28eb10c31de5febd1f7def2db22">myPacketTrackingMutex</a>, <a class="el" href="classArClientBase.html#ae1244558b7f208180a016abe882a58ab">myTrackingSentMap</a>, and <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html#afb51b5514a9456f23441e479fe58fb46">ArMutex::unlock()</a>.</p>

<p>Referenced by <a class="el" href="classArClientBase.html#ad0c16dee93dd68923309ccad6ab79128">sendPacketTcp()</a>, and <a class="el" href="classArClientBase.html#adff0830f1f877067d90261cecf887414">sendPacketUdp()</a>.</p>

</div>
</div>
<a class="anchor" id="ac8c0a3fa78872df34204b9a1aca53ddd"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool ArClientBase::wasRejected </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>true if a server connection attempt failed because the server rejected the username or password, false if the connection failed for another reason, or the username/password were accepted. </dd></dl>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="ptzCameraClientExample_8cpp-example.html#a29">ptzCameraClientExample.cpp</a>, and <a class="el" href="robotUpdateExample_8cpp-example.html#a13">robotUpdateExample.cpp</a>.</dd>
</dl>
<p>References <a class="el" href="classArClientBase.html#a996c8c096a233ef3ed71583e5bc5dd58">myState</a>, and <a class="el" href="classArClientBase.html#af81d1a763266af658676640386e0bdf0a02f2e7a7258afdcb09500599fce5e34a">STATE_REJECTED</a>.</p>

<p>Referenced by <a class="el" href="clientCommandLister_8cpp.html#a3c04138a5bfe5d72780bb7e82a18e627">main()</a>.</p>

</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a class="anchor" id="a82a153519de1ab3beda199a10566a54b"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">long ArClientBase::myAuthKey</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArClientBase.html#a8f2e8920b136953c0deccb6e3fe3ee73">processPacket()</a>.</p>

</div>
</div>
<a class="anchor" id="a9540349440d421ac8c66e92eae6bd4cc"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">double ArClientBase::myBackupTimeout</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArClientBase.html#a11ed13bd851b342af904fc7c6695ff6e">setBackupTimeout()</a>.</p>

</div>
</div>
<a class="anchor" id="a26aec14fcfa968c58608fa3fb4795e6b"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html">ArMutex</a> ArClientBase::myCallbackMutex</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArClientBase.html#ad3e597486ac95414f45f45a5b4bece8b">addDisconnectOnErrorCB()</a>, <a class="el" href="classArClientBase.html#a0d003cf30314ff582e08f4254e8d4656">addServerShutdownCB()</a>, <a class="el" href="classArClientBase.html#ab2cf2d19c6da6490fe4c04554a7f31b2">ArClientBase()</a>, <a class="el" href="classArClientBase.html#a156525a1b5ca6a26c8b72c48b3c06848">loopOnce()</a>, <a class="el" href="classArClientBase.html#a8f2e8920b136953c0deccb6e3fe3ee73">processPacket()</a>, <a class="el" href="classArClientBase.html#a7cb696df3e36f4d8258ed0091e553349">remDisconnectOnErrorCB()</a>, and <a class="el" href="classArClientBase.html#a2399734098ee84b0b344644e76fc07d6">remServerShutdownCB()</a>.</p>

</div>
</div>
<a class="anchor" id="a9887e654d54ea17a6894cd7015c8c3e8"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">unsigned char ArClientBase::myClientKey[16]</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArClientBase.html#a6e639770e8392cb106c71e7c68b24cb9">getClientKey()</a>, and <a class="el" href="classArClientBase.html#a8f2e8920b136953c0deccb6e3fe3ee73">processPacket()</a>.</p>

</div>
</div>
<a class="anchor" id="ab3bd610ffcb2946b2e012528588d86c3"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html">ArMutex</a> ArClientBase::myClientMutex</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArClientBase.html#ab2cf2d19c6da6490fe4c04554a7f31b2">ArClientBase()</a>.</p>

</div>
</div>
<a class="anchor" id="a2924e0901556e5f2d23a79bc65e511ad"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html">ArMutex</a> ArClientBase::myCycleCallbackMutex</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArClientBase.html#a927e8816c53d7c3c0244cf1d8ad6f68b">addCycleCallback()</a>, <a class="el" href="classArClientBase.html#ab2cf2d19c6da6490fe4c04554a7f31b2">ArClientBase()</a>, <a class="el" href="classArClientBase.html#a156525a1b5ca6a26c8b72c48b3c06848">loopOnce()</a>, and <a class="el" href="classArClientBase.html#a416ab3c98c526e07e0e4140848409d8b">remCycleCallback()</a>.</p>

</div>
</div>
<a class="anchor" id="ad5109d7fc5c4a6927b6553982b7e9072"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::list&lt;<a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArFunctor.html">ArFunctor</a> *&gt; ArClientBase::myCycleCallbacks</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArClientBase.html#a927e8816c53d7c3c0244cf1d8ad6f68b">addCycleCallback()</a>, <a class="el" href="classArClientBase.html#a156525a1b5ca6a26c8b72c48b3c06848">loopOnce()</a>, and <a class="el" href="classArClientBase.html#a416ab3c98c526e07e0e4140848409d8b">remCycleCallback()</a>.</p>

</div>
</div>
<a class="anchor" id="ad6d34b3b54e4134bc84d573994cb2b25"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html">ArMutex</a> ArClientBase::myDataMutex</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArClientBase.html#ab2cf2d19c6da6490fe4c04554a7f31b2">ArClientBase()</a>, <a class="el" href="classArClientBase.html#a3f8c332ceee2111b1813b438e413e0c9">enforceProtocolVersion()</a>, <a class="el" href="classArClientBase.html#a96d69ef43a3d460b07a036a482330a0f">enforceType()</a>, <a class="el" href="classArClientBase.html#a1c10f8408523e85a6d891d0331fa6259">getHost()</a>, <a class="el" href="classArClientBase.html#a37a32ea9c66bae5a644ab6625568ecdd">getLastPacketReceived()</a>, <a class="el" href="classArClientBase.html#a9f5d72f8951f20a3bea6094fcbb9af52">getPort()</a>, <a class="el" href="classArClientBase.html#a39d46ebf1e5e28326fbe60c569f113e0">internalNonBlockingConnectContinue()</a>, <a class="el" href="classArClientBase.html#a4c5b2436e7efbce5f7325e3cafd085d8">internalNonBlockingConnectStart()</a>, <a class="el" href="classArClientBase.html#ae92349fdcb65ff332cd46f6a777d007b">isTcpOnlyFromServer()</a>, <a class="el" href="classArClientBase.html#a160a0f61ba0dc6b72ef54309fea37cca">isTcpOnlyToServer()</a>, <a class="el" href="classArClientBase.html#aca6670002abd10af169aab84bd2dd1ad">logTracking()</a>, <a class="el" href="classArClientBase.html#a8f2e8920b136953c0deccb6e3fe3ee73">processPacket()</a>, <a class="el" href="classArClientBase.html#aace1f3cde948cc76173978a2a4062834">processPacketUdp()</a>, <a class="el" href="classArClientBase.html#a751949cbde124628fa536b7a63244224">setConnectTimeoutTime()</a>, <a class="el" href="classArClientBase.html#acbf0dcf0eff41a3fed3bc4971a610a1e">setServerKey()</a>, <a class="el" href="classArClientBase.html#a3d2b633b8180dec697d87733d891f5ab">setTcpOnlyFromServer()</a>, and <a class="el" href="classArClientBase.html#a561fed6b6fa30c67318d17173abeeef8">setTcpOnlyToServer()</a>.</p>

</div>
</div>
<a class="anchor" id="a71b57a82dd96c0e3ac7666c758f530b0"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool ArClientBase::myDebugLogging</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArClientBase.html#ab2cf2d19c6da6490fe4c04554a7f31b2">ArClientBase()</a>, <a class="el" href="classArClientBase.html#a98514abd83464f0bda9af37f30018c41">getDebugLogging()</a>, <a class="el" href="classArClientBase.html#a4ff058a24b4b23152753340e3a99bc77">internalConnect()</a>, <a class="el" href="classArClientBase.html#a39d46ebf1e5e28326fbe60c569f113e0">internalNonBlockingConnectContinue()</a>, <a class="el" href="classArClientBase.html#a4c5b2436e7efbce5f7325e3cafd085d8">internalNonBlockingConnectStart()</a>, <a class="el" href="classArClientBase.html#a30a0d249eb8828a2a0146d1e05914fca">internalStartUdp()</a>, <a class="el" href="classArClientBase.html#a156525a1b5ca6a26c8b72c48b3c06848">loopOnce()</a>, <a class="el" href="classArClientBase.html#a8f2e8920b136953c0deccb6e3fe3ee73">processPacket()</a>, <a class="el" href="classArClientBase.html#aace1f3cde948cc76173978a2a4062834">processPacketUdp()</a>, <a class="el" href="classArClientBase.html#a9d362e67fded3e8c36f120663c7f66cd">setRobotName()</a>, and <a class="el" href="classArClientBase.html#a9e5670ac90c62d0c156bfa47a50743f2">startNonBlockingDisconnect()</a>.</p>

</div>
</div>
<a class="anchor" id="aa1dc82e053c0d07c8f7e2e72427c0d05"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::list&lt;<a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArFunctor.html">ArFunctor</a> *&gt; ArClientBase::myDisconnectOnErrorCBList</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArClientBase.html#ad3e597486ac95414f45f45a5b4bece8b">addDisconnectOnErrorCB()</a>, <a class="el" href="classArClientBase.html#a156525a1b5ca6a26c8b72c48b3c06848">loopOnce()</a>, and <a class="el" href="classArClientBase.html#a7cb696df3e36f4d8258ed0091e553349">remDisconnectOnErrorCB()</a>.</p>

</div>
</div>
<a class="anchor" id="a67c70a563ba8c2b9647c46efedb4cbca"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool ArClientBase::myDisconnectSoon</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArClientBase.html#acadc0bdb42259b3d7ad76cd942f2c660">clear()</a>, <a class="el" href="classArClientBase.html#a07a9b5d106fc8ca61754a560ac64a773">disconnectSoon()</a>, and <a class="el" href="classArClientBase.html#a156525a1b5ca6a26c8b72c48b3c06848">loopOnce()</a>.</p>

</div>
</div>
<a class="anchor" id="a84e12313e6af619d030a56a22e273e32"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::string ArClientBase::myEnforceProtocolVersion</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>If we're enforcing the version of the protocol or not. </p>

<p>Referenced by <a class="el" href="classArClientBase.html#a3f8c332ceee2111b1813b438e413e0c9">enforceProtocolVersion()</a>, and <a class="el" href="classArClientBase.html#a8f2e8920b136953c0deccb6e3fe3ee73">processPacket()</a>.</p>

</div>
</div>
<a class="anchor" id="ac81adf0af148c10fa7319073ed427555"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classArServerCommands.html#a17e8a1248f23b0f1dde4606af34b0efd">ArServerCommands::Type</a> ArClientBase::myEnforceType</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>if we're a particular type </p>

<p>Referenced by <a class="el" href="classArClientBase.html#ab2cf2d19c6da6490fe4c04554a7f31b2">ArClientBase()</a>, <a class="el" href="classArClientBase.html#a96d69ef43a3d460b07a036a482330a0f">enforceType()</a>, and <a class="el" href="classArClientBase.html#a8f2e8920b136953c0deccb6e3fe3ee73">processPacket()</a>.</p>

</div>
</div>
<a class="anchor" id="ad388500910d17f967ffb9457b1995710"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::string ArClientBase::myHost</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArClientBase.html#a1c10f8408523e85a6d891d0331fa6259">getHost()</a>, and <a class="el" href="classArClientBase.html#a4c5b2436e7efbce5f7325e3cafd085d8">internalNonBlockingConnectStart()</a>.</p>

</div>
</div>
<a class="anchor" id="ae37c5791539ed084a5a8b459c92a7be8"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::map&lt;unsigned int, <a class="el" href="classArClientData.html">ArClientData</a> *&gt; ArClientBase::myIntDataMap</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArClientBase.html#af75610dd7e91d98097de1b252d0bacd5">addHandler()</a>, <a class="el" href="classArClientBase.html#a0cd5721a220ebddad72fd9fd5f38a276">buildList()</a>, <a class="el" href="classArClientBase.html#acadc0bdb42259b3d7ad76cd942f2c660">clear()</a>, <a class="el" href="classArClientBase.html#a792f22a79dbcef9122ba69946315df16">getDataMap()</a>, <a class="el" href="classArClientBase.html#ad331af6cfcbc37079d4f1bb283cd509e">getName()</a>, <a class="el" href="classArClientBase.html#ad77e87d97528439fb884be5c1f831104">logDataList()</a>, <a class="el" href="classArClientBase.html#a8f2e8920b136953c0deccb6e3fe3ee73">processPacket()</a>, and <a class="el" href="classArClientBase.html#a904bea3bf052b9a13bba5d81e45f68f9">remHandler()</a>.</p>

</div>
</div>
<a class="anchor" id="aa735c53da737bf2e1ae589a479ca8ff8"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">long ArClientBase::myIntroKey</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArClientBase.html#a8f2e8920b136953c0deccb6e3fe3ee73">processPacket()</a>, and <a class="el" href="classArClientBase.html#aace1f3cde948cc76173978a2a4062834">processPacketUdp()</a>.</p>

</div>
</div>
<a class="anchor" id="a5f8ce7801ef44a2c6c30a3098ce776c2"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool ArClientBase::myIsRunningAsync</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArClientBase.html#acadc0bdb42259b3d7ad76cd942f2c660">clear()</a>, <a class="el" href="classArClientBase.html#a156525a1b5ca6a26c8b72c48b3c06848">loopOnce()</a>, and <a class="el" href="classArClientBase.html#a778c406a8eda15109afda20521acf502">runAsync()</a>.</p>

</div>
</div>
<a class="anchor" id="a24be0a8138698517e0c4b5610e6011cf"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool ArClientBase::myIsStartedDisconnect</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArClientBase.html#acadc0bdb42259b3d7ad76cd942f2c660">clear()</a>, and <a class="el" href="classArClientBase.html#a156525a1b5ca6a26c8b72c48b3c06848">loopOnce()</a>.</p>

</div>
</div>
<a class="anchor" id="ac729f4394ce040e212dfe5bdc3a4b5a1"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool ArClientBase::myIsStopped</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArClientBase.html#acadc0bdb42259b3d7ad76cd942f2c660">clear()</a>, <a class="el" href="classArClientBase.html#a59ad77df6c8aad1ff39791a20b122440">isStopped()</a>, and <a class="el" href="classArClientBase.html#a2b1aad5de83d6e9f04fd00d9bd943465">stopRunning()</a>.</p>

</div>
</div>
<a class="anchor" id="a419ab787b6173c92134534a31f3a27f8"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArTime.html">ArTime</a> ArClientBase::myLastPacketReceived</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArClientBase.html#acadc0bdb42259b3d7ad76cd942f2c660">clear()</a>, <a class="el" href="classArClientBase.html#a37a32ea9c66bae5a644ab6625568ecdd">getLastPacketReceived()</a>, <a class="el" href="classArClientBase.html#a8f2e8920b136953c0deccb6e3fe3ee73">processPacket()</a>, and <a class="el" href="classArClientBase.html#aace1f3cde948cc76173978a2a4062834">processPacketUdp()</a>.</p>

</div>
</div>
<a class="anchor" id="a94b7d7d35ec4ddbea9658b53e76f47e0"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::string ArClientBase::myLogPrefix</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Optional prefix to be inserted at the start of log messages. </p>

<p>Referenced by <a class="el" href="classArClientBase.html#ad3e597486ac95414f45f45a5b4bece8b">addDisconnectOnErrorCB()</a>, <a class="el" href="classArClientBase.html#af75610dd7e91d98097de1b252d0bacd5">addHandler()</a>, <a class="el" href="classArClientBase.html#a0d003cf30314ff582e08f4254e8d4656">addServerShutdownCB()</a>, <a class="el" href="classArClientBase.html#a0cd5721a220ebddad72fd9fd5f38a276">buildList()</a>, <a class="el" href="classArClientBase.html#a3f8c332ceee2111b1813b438e413e0c9">enforceProtocolVersion()</a>, <a class="el" href="classArClientBase.html#a96d69ef43a3d460b07a036a482330a0f">enforceType()</a>, <a class="el" href="classArClientBase.html#ac50bd95e8a0649f6347745c10176da74">findCommandFromName()</a>, <a class="el" href="classArClientBase.html#a88796283202dd686aa9955a34614ad9e">getLogPrefix()</a>, <a class="el" href="classArClientBase.html#a4ff058a24b4b23152753340e3a99bc77">internalConnect()</a>, <a class="el" href="classArClientBase.html#a39d46ebf1e5e28326fbe60c569f113e0">internalNonBlockingConnectContinue()</a>, <a class="el" href="classArClientBase.html#a4c5b2436e7efbce5f7325e3cafd085d8">internalNonBlockingConnectStart()</a>, <a class="el" href="classArClientBase.html#a30a0d249eb8828a2a0146d1e05914fca">internalStartUdp()</a>, <a class="el" href="classArClientBase.html#ad77e87d97528439fb884be5c1f831104">logDataList()</a>, <a class="el" href="classArClientBase.html#aca6670002abd10af169aab84bd2dd1ad">logTracking()</a>, <a class="el" href="classArClientBase.html#a156525a1b5ca6a26c8b72c48b3c06848">loopOnce()</a>, <a class="el" href="classArClientBase.html#a8f2e8920b136953c0deccb6e3fe3ee73">processPacket()</a>, <a class="el" href="classArClientBase.html#aace1f3cde948cc76173978a2a4062834">processPacketUdp()</a>, <a class="el" href="classArClientBase.html#a904bea3bf052b9a13bba5d81e45f68f9">remHandler()</a>, <a class="el" href="classArClientBase.html#a0a36a40fe2598eb214368ae8c3a26ca1">request()</a>, <a class="el" href="classArClientBase.html#a2dcd11daf8d2045d460b83733e6932d0">requestOnce()</a>, <a class="el" href="classArClientBase.html#ab7e431bdf19aa838576c7928302efe67">requestOnceUdp()</a>, <a class="el" href="classArClientBase.html#a972cebefaa57d709158b5b0d2c459d0f">requestOnceWithDouble()</a>, <a class="el" href="classArClientBase.html#ad70a1f142b30a08ab54a02146a4c2005">requestOnceWithInt16()</a>, <a class="el" href="classArClientBase.html#a539a9fd371bade04042cf48191afd674">requestOnceWithInt32()</a>, <a class="el" href="classArClientBase.html#a3b3783c386707050eb83287cb53dd07b">requestOnceWithString()</a>, <a class="el" href="classArClientBase.html#aee1400e28ba15f18c032ea7f3b414cfd">requestStop()</a>, <a class="el" href="classArClientBase.html#ad0c16dee93dd68923309ccad6ab79128">sendPacketTcp()</a>, <a class="el" href="classArClientBase.html#a9d362e67fded3e8c36f120663c7f66cd">setRobotName()</a>, <a class="el" href="classArClientBase.html#acbf0dcf0eff41a3fed3bc4971a610a1e">setServerKey()</a>, <a class="el" href="classArClientBase.html#ac7d01b56aa8db363c7025400e85a0bb9">setupPacket()</a>, and <a class="el" href="classArClientBase.html#a9e5670ac90c62d0c156bfa47a50743f2">startNonBlockingDisconnect()</a>.</p>

</div>
</div>
<a class="anchor" id="a3bbfee4c097f63baeb3738c623b780e5"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html">ArMutex</a> ArClientBase::myMapsMutex</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArClientBase.html#af75610dd7e91d98097de1b252d0bacd5">addHandler()</a>, <a class="el" href="classArClientBase.html#ab2cf2d19c6da6490fe4c04554a7f31b2">ArClientBase()</a>, <a class="el" href="classArClientBase.html#a873a731b968b4e3359c60d592122770b">dataExists()</a>, <a class="el" href="classArClientBase.html#ac50bd95e8a0649f6347745c10176da74">findCommandFromName()</a>, <a class="el" href="classArClientBase.html#ad331af6cfcbc37079d4f1bb283cd509e">getName()</a>, <a class="el" href="classArClientBase.html#ad77e87d97528439fb884be5c1f831104">logDataList()</a>, <a class="el" href="classArClientBase.html#a8f2e8920b136953c0deccb6e3fe3ee73">processPacket()</a>, and <a class="el" href="classArClientBase.html#a904bea3bf052b9a13bba5d81e45f68f9">remHandler()</a>.</p>

</div>
</div>
<a class="anchor" id="a38d4ea57619c2a87f91e4d6f5e33d649"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::map&lt;std::string, unsigned int&gt; ArClientBase::myNameIntMap</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArClientBase.html#af75610dd7e91d98097de1b252d0bacd5">addHandler()</a>, <a class="el" href="classArClientBase.html#a0cd5721a220ebddad72fd9fd5f38a276">buildList()</a>, <a class="el" href="classArClientBase.html#acadc0bdb42259b3d7ad76cd942f2c660">clear()</a>, <a class="el" href="classArClientBase.html#a873a731b968b4e3359c60d592122770b">dataExists()</a>, <a class="el" href="classArClientBase.html#ac50bd95e8a0649f6347745c10176da74">findCommandFromName()</a>, and <a class="el" href="classArClientBase.html#a904bea3bf052b9a13bba5d81e45f68f9">remHandler()</a>.</p>

</div>
</div>
<a class="anchor" id="ae6749c53f5e6e667a9e7012159a2868d"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classArClientBase.html#a35dcde5f344eaa074ca8f9d24f8eff98">NonBlockingConnectState</a> ArClientBase::myNonBlockingConnectState</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArClientBase.html#ab2cf2d19c6da6490fe4c04554a7f31b2">ArClientBase()</a>, <a class="el" href="classArClientBase.html#a39d46ebf1e5e28326fbe60c569f113e0">internalNonBlockingConnectContinue()</a>, and <a class="el" href="classArClientBase.html#a4c5b2436e7efbce5f7325e3cafd085d8">internalNonBlockingConnectStart()</a>.</p>

</div>
</div>
<a class="anchor" id="a4e41f28eb10c31de5febd1f7def2db22"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html">ArMutex</a> ArClientBase::myPacketTrackingMutex</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArClientBase.html#ab2cf2d19c6da6490fe4c04554a7f31b2">ArClientBase()</a>, <a class="el" href="classArClientBase.html#aca6670002abd10af169aab84bd2dd1ad">logTracking()</a>, <a class="el" href="classArClientBase.html#a4ed44a6f3835bd41e4aff334b4dbf764">resetTracking()</a>, <a class="el" href="classArClientBase.html#a224e4e8b41c1d4d9da67e2de8a56d49a">trackPacketReceived()</a>, and <a class="el" href="classArClientBase.html#aa320dbc731f8743c3467659112f5b74f">trackPacketSent()</a>.</p>

</div>
</div>
<a class="anchor" id="acad6369b983172d3092c65def1a36edc"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::string ArClientBase::myPassword</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArClientBase.html#a4c5b2436e7efbce5f7325e3cafd085d8">internalNonBlockingConnectStart()</a>, and <a class="el" href="classArClientBase.html#a8f2e8920b136953c0deccb6e3fe3ee73">processPacket()</a>.</p>

</div>
</div>
<a class="anchor" id="a1486b59cf86991bc2d34c975146d7294"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int ArClientBase::myPort</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArClientBase.html#a9f5d72f8951f20a3bea6094fcbb9af52">getPort()</a>, and <a class="el" href="classArClientBase.html#a4c5b2436e7efbce5f7325e3cafd085d8">internalNonBlockingConnectStart()</a>.</p>

</div>
</div>
<a class="anchor" id="aa338beb2b2542ab9fe95bb4bc5d4a26e"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArFunctor2C.html">ArFunctor2C</a>&lt;<a class="el" href="classArClientBase.html">ArClientBase</a>, <a class="el" href="classArNetPacket.html">ArNetPacket</a> *, bool&gt; ArClientBase::myProcessPacketCB</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArClientBase.html#ab2cf2d19c6da6490fe4c04554a7f31b2">ArClientBase()</a>.</p>

</div>
</div>
<a class="anchor" id="a04c61af74d790add44bae254b66e6966"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArFunctor2C.html">ArFunctor2C</a>&lt;<a class="el" href="classArClientBase.html">ArClientBase</a>, <a class="el" href="classArNetPacket.html">ArNetPacket</a> *, struct sockaddr_in *&gt; ArClientBase::myProcessPacketUdpCB</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArClientBase.html#ab2cf2d19c6da6490fe4c04554a7f31b2">ArClientBase()</a>.</p>

</div>
</div>
<a class="anchor" id="af4a14693fd1eb0990ca77adc1532d3f3"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool ArClientBase::myQuiet</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArClientBase.html#acadc0bdb42259b3d7ad76cd942f2c660">clear()</a>, <a class="el" href="classArClientBase.html#a4ff058a24b4b23152753340e3a99bc77">internalConnect()</a>, <a class="el" href="classArClientBase.html#a39d46ebf1e5e28326fbe60c569f113e0">internalNonBlockingConnectContinue()</a>, <a class="el" href="classArClientBase.html#a4c5b2436e7efbce5f7325e3cafd085d8">internalNonBlockingConnectStart()</a>, <a class="el" href="classArClientBase.html#a30a0d249eb8828a2a0146d1e05914fca">internalStartUdp()</a>, <a class="el" href="classArClientBase.html#a156525a1b5ca6a26c8b72c48b3c06848">loopOnce()</a>, <a class="el" href="classArClientBase.html#a8f2e8920b136953c0deccb6e3fe3ee73">processPacket()</a>, <a class="el" href="classArClientBase.html#aace1f3cde948cc76173978a2a4062834">processPacketUdp()</a>, and <a class="el" href="classArClientBase.html#a9e5670ac90c62d0c156bfa47a50743f2">startNonBlockingDisconnect()</a>.</p>

</div>
</div>
<a class="anchor" id="ac805cbd85a200f4713bb94e54584b93c"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool ArClientBase::myReceivedArgRetList</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArClientBase.html#a0cd5721a220ebddad72fd9fd5f38a276">buildList()</a>, <a class="el" href="classArClientBase.html#acadc0bdb42259b3d7ad76cd942f2c660">clear()</a>, and <a class="el" href="classArClientBase.html#abebd9b3fd56c9401384876ffae90785a">getReceivedArgRetList()</a>.</p>

</div>
</div>
<a class="anchor" id="a5eca54c62e701db104bb3af157b52ef8"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool ArClientBase::myReceivedDataList</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArClientBase.html#a0cd5721a220ebddad72fd9fd5f38a276">buildList()</a>, <a class="el" href="classArClientBase.html#acadc0bdb42259b3d7ad76cd942f2c660">clear()</a>, and <a class="el" href="classArClientBase.html#a9146d03d37cf37f85f52c08db84aae15">getReceivedDataList()</a>.</p>

</div>
</div>
<a class="anchor" id="a128ae2c9e65cd83f1f1fd9d892468593"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool ArClientBase::myReceivedGroupAndFlagsList</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArClientBase.html#a0cd5721a220ebddad72fd9fd5f38a276">buildList()</a>, <a class="el" href="classArClientBase.html#acadc0bdb42259b3d7ad76cd942f2c660">clear()</a>, and <a class="el" href="classArClientBase.html#ad30d595c20eafd7058895b9e41b3998c">getReceivedGroupAndFlagsList()</a>.</p>

</div>
</div>
<a class="anchor" id="aad304ef6d6ee6d3db028cf7dfa97abde"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int ArClientBase::myRejected</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArClientBase.html#acadc0bdb42259b3d7ad76cd942f2c660">clear()</a>, <a class="el" href="classArClientBase.html#aee9339f92bffb1d996d79069b50de114">getRejected()</a>, and <a class="el" href="classArClientBase.html#a8f2e8920b136953c0deccb6e3fe3ee73">processPacket()</a>.</p>

</div>
</div>
<a class="anchor" id="ac52be180c68d85b81d82b8c383d8c233"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">char ArClientBase::myRejectedString[32000]</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArClientBase.html#acadc0bdb42259b3d7ad76cd942f2c660">clear()</a>, <a class="el" href="classArClientBase.html#a044c843a6a2714e5dfd0548c99db5549">getRejectedString()</a>, and <a class="el" href="classArClientBase.html#a8f2e8920b136953c0deccb6e3fe3ee73">processPacket()</a>.</p>

</div>
</div>
<a class="anchor" id="a1675297fdb1923c0b6169e5ceed0b7c6"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::string ArClientBase::myRobotName</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Optional robot name for logging. </p>

<p>Referenced by <a class="el" href="classArClientBase.html#a178422ad8149957fe999e1b510fcb61d">getRobotName()</a>, and <a class="el" href="classArClientBase.html#a9d362e67fded3e8c36f120663c7f66cd">setRobotName()</a>.</p>

</div>
</div>
<a class="anchor" id="ab5b19584383ece79fa760dae172f3466"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::string ArClientBase::myServerKey</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArClientBase.html#a8f2e8920b136953c0deccb6e3fe3ee73">processPacket()</a>, and <a class="el" href="classArClientBase.html#acbf0dcf0eff41a3fed3bc4971a610a1e">setServerKey()</a>.</p>

</div>
</div>
<a class="anchor" id="a660354779ada598954acd34d2a1b7ff9"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">unsigned int ArClientBase::myServerReportedUdpPort</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArClientBase.html#acadc0bdb42259b3d7ad76cd942f2c660">clear()</a>, <a class="el" href="classArClientBase.html#a8f2e8920b136953c0deccb6e3fe3ee73">processPacket()</a>, and <a class="el" href="classArClientBase.html#aace1f3cde948cc76173978a2a4062834">processPacketUdp()</a>.</p>

</div>
</div>
<a class="anchor" id="a05d94f4b686c809825915198da528090"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">unsigned int ArClientBase::myServerSentUdpPort</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a59b030f44d90b166254cf2380a2c6ea3"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::list&lt;<a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArFunctor.html">ArFunctor</a> *&gt; ArClientBase::myServerShutdownCBList</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArClientBase.html#a0d003cf30314ff582e08f4254e8d4656">addServerShutdownCB()</a>, <a class="el" href="classArClientBase.html#a8f2e8920b136953c0deccb6e3fe3ee73">processPacket()</a>, and <a class="el" href="classArClientBase.html#a2399734098ee84b0b344644e76fc07d6">remServerShutdownCB()</a>.</p>

</div>
</div>
<a class="anchor" id="ac548a76a6b8c7dd4791b3db9333e30f8"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArTime.html">ArTime</a> ArClientBase::myStartedConnection</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArClientBase.html#a39d46ebf1e5e28326fbe60c569f113e0">internalNonBlockingConnectContinue()</a>, and <a class="el" href="classArClientBase.html#a4c5b2436e7efbce5f7325e3cafd085d8">internalNonBlockingConnectStart()</a>.</p>

</div>
</div>
<a class="anchor" id="ac98cd4dcfb34a75fc15a1af6a40bde5e"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArTime.html">ArTime</a> ArClientBase::myStartedShutdown</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArClientBase.html#a156525a1b5ca6a26c8b72c48b3c06848">loopOnce()</a>.</p>

</div>
</div>
<a class="anchor" id="a8cb9be4e9e2155a66cd2e83529ddba40"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArTime.html">ArTime</a> ArClientBase::myStartedUdpConnection</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArClientBase.html#a39d46ebf1e5e28326fbe60c569f113e0">internalNonBlockingConnectContinue()</a>.</p>

</div>
</div>
<a class="anchor" id="a996c8c096a233ef3ed71583e5bc5dd58"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classArClientBase.html#af81d1a763266af658676640386e0bdf0">ClientState</a> ArClientBase::myState</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArClientBase.html#a59e95e3eeaec12a3925ed3eb13d13b5e">finishNonBlockingDisconnect()</a>, <a class="el" href="classArClientBase.html#a6db158596a22ebe1c073b2575621c121">getState()</a>, <a class="el" href="classArClientBase.html#a39d46ebf1e5e28326fbe60c569f113e0">internalNonBlockingConnectContinue()</a>, <a class="el" href="classArClientBase.html#a4c5b2436e7efbce5f7325e3cafd085d8">internalNonBlockingConnectStart()</a>, <a class="el" href="classArClientBase.html#a7e9cfee673d111e2eee718651639522d">internalSwitchState()</a>, <a class="el" href="classArClientBase.html#ae496055761ec07b824ceef7e3c6281f8">isConnected()</a>, <a class="el" href="classArClientBase.html#a156525a1b5ca6a26c8b72c48b3c06848">loopOnce()</a>, <a class="el" href="classArClientBase.html#a8f2e8920b136953c0deccb6e3fe3ee73">processPacket()</a>, <a class="el" href="classArClientBase.html#aace1f3cde948cc76173978a2a4062834">processPacketUdp()</a>, <a class="el" href="classArClientBase.html#ac7d01b56aa8db363c7025400e85a0bb9">setupPacket()</a>, and <a class="el" href="classArClientBase.html#ac8c0a3fa78872df34204b9a1aca53ddd">wasRejected()</a>.</p>

</div>
</div>
<a class="anchor" id="ace0f6e26d49138b8007757eb98001a33"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html">ArMutex</a> ArClientBase::myStateMutex</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArClientBase.html#ab2cf2d19c6da6490fe4c04554a7f31b2">ArClientBase()</a>.</p>

</div>
</div>
<a class="anchor" id="afc4cde2222c3c322f6f0d1bd29e17db8"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArTime.html">ArTime</a> ArClientBase::myStateStarted</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArClientBase.html#a7e9cfee673d111e2eee718651639522d">internalSwitchState()</a>.</p>

</div>
</div>
<a class="anchor" id="a8fde37a425ee2ca259ab2da147b6ee64"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool ArClientBase::myTcpOnlyFrom</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArClientBase.html#acadc0bdb42259b3d7ad76cd942f2c660">clear()</a>, <a class="el" href="classArClientBase.html#a39d46ebf1e5e28326fbe60c569f113e0">internalNonBlockingConnectContinue()</a>, <a class="el" href="classArClientBase.html#a30a0d249eb8828a2a0146d1e05914fca">internalStartUdp()</a>, <a class="el" href="classArClientBase.html#ae92349fdcb65ff332cd46f6a777d007b">isTcpOnlyFromServer()</a>, <a class="el" href="classArClientBase.html#a156525a1b5ca6a26c8b72c48b3c06848">loopOnce()</a>, <a class="el" href="classArClientBase.html#a8f2e8920b136953c0deccb6e3fe3ee73">processPacket()</a>, and <a class="el" href="classArClientBase.html#a3d2b633b8180dec697d87733d891f5ab">setTcpOnlyFromServer()</a>.</p>

</div>
</div>
<a class="anchor" id="aa9d969c1c88c9059cd0c1787be74389c"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool ArClientBase::myTcpOnlyTo</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArClientBase.html#acadc0bdb42259b3d7ad76cd942f2c660">clear()</a>, <a class="el" href="classArClientBase.html#a39d46ebf1e5e28326fbe60c569f113e0">internalNonBlockingConnectContinue()</a>, <a class="el" href="classArClientBase.html#a30a0d249eb8828a2a0146d1e05914fca">internalStartUdp()</a>, <a class="el" href="classArClientBase.html#a160a0f61ba0dc6b72ef54309fea37cca">isTcpOnlyToServer()</a>, <a class="el" href="classArClientBase.html#a8f2e8920b136953c0deccb6e3fe3ee73">processPacket()</a>, <a class="el" href="classArClientBase.html#aa45eea17535cde2664a071c0591f534a">requestOnceByCommandUdp()</a>, and <a class="el" href="classArClientBase.html#a561fed6b6fa30c67318d17173abeeef8">setTcpOnlyToServer()</a>.</p>

</div>
</div>
<a class="anchor" id="aee35e95e56e2dceea4ea7cbd10ae955d"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classArNetPacketReceiverTcp.html">ArNetPacketReceiverTcp</a> ArClientBase::myTcpReceiver</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArClientBase.html#ab2cf2d19c6da6490fe4c04554a7f31b2">ArClientBase()</a>, <a class="el" href="classArClientBase.html#a4c5b2436e7efbce5f7325e3cafd085d8">internalNonBlockingConnectStart()</a>, <a class="el" href="classArClientBase.html#a156525a1b5ca6a26c8b72c48b3c06848">loopOnce()</a>, and <a class="el" href="classArClientBase.html#a9d362e67fded3e8c36f120663c7f66cd">setRobotName()</a>.</p>

</div>
</div>
<a class="anchor" id="a5a526727ba3eb1e0c1575cca1c30cfcb"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classArNetPacketSenderTcp.html">ArNetPacketSenderTcp</a> ArClientBase::myTcpSender</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArClientBase.html#ab2cf2d19c6da6490fe4c04554a7f31b2">ArClientBase()</a>, <a class="el" href="classArClientBase.html#a156525a1b5ca6a26c8b72c48b3c06848">loopOnce()</a>, <a class="el" href="classArClientBase.html#ad0c16dee93dd68923309ccad6ab79128">sendPacketTcp()</a>, <a class="el" href="classArClientBase.html#a11ed13bd851b342af904fc7c6695ff6e">setBackupTimeout()</a>, <a class="el" href="classArClientBase.html#a9d362e67fded3e8c36f120663c7f66cd">setRobotName()</a>, and <a class="el" href="classArClientBase.html#a9e5670ac90c62d0c156bfa47a50743f2">startNonBlockingDisconnect()</a>.</p>

</div>
</div>
<a class="anchor" id="a24f77b01dff93fc5f6748bad64eb96d9"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArSocket.html">ArSocket</a> ArClientBase::myTcpSocket</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArClientBase.html#ab2cf2d19c6da6490fe4c04554a7f31b2">ArClientBase()</a>, <a class="el" href="classArClientBase.html#a59e95e3eeaec12a3925ed3eb13d13b5e">finishNonBlockingDisconnect()</a>, <a class="el" href="classArClientBase.html#a33a8c7986a086a7a9ef2b68145a85d1c">getTcpAddr()</a>, <a class="el" href="classArClientBase.html#aed41a05522e8226f224b8548ea381bfb">getTcpSocket()</a>, <a class="el" href="classArClientBase.html#a4ff058a24b4b23152753340e3a99bc77">internalConnect()</a>, <a class="el" href="classArClientBase.html#a39d46ebf1e5e28326fbe60c569f113e0">internalNonBlockingConnectContinue()</a>, <a class="el" href="classArClientBase.html#a4c5b2436e7efbce5f7325e3cafd085d8">internalNonBlockingConnectStart()</a>, <a class="el" href="classArClientBase.html#a30a0d249eb8828a2a0146d1e05914fca">internalStartUdp()</a>, <a class="el" href="classArClientBase.html#aca6670002abd10af169aab84bd2dd1ad">logTracking()</a>, <a class="el" href="classArClientBase.html#a156525a1b5ca6a26c8b72c48b3c06848">loopOnce()</a>, and <a class="el" href="classArClientBase.html#a4ed44a6f3835bd41e4aff334b4dbf764">resetTracking()</a>.</p>

</div>
</div>
<a class="anchor" id="a8add18e6bd5dc78350c19e63b2e31acb"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int ArClientBase::myTimeoutTime</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArClientBase.html#acadc0bdb42259b3d7ad76cd942f2c660">clear()</a>, <a class="el" href="classArClientBase.html#a04ecf7d39ef1062a26f82f848dc2bcbb">getConnectTimeoutTime()</a>, <a class="el" href="classArClientBase.html#a39d46ebf1e5e28326fbe60c569f113e0">internalNonBlockingConnectContinue()</a>, and <a class="el" href="classArClientBase.html#a751949cbde124628fa536b7a63244224">setConnectTimeoutTime()</a>.</p>

</div>
</div>
<a class="anchor" id="af017397076e2430f561932b59f49a76c"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::map&lt;unsigned int, <a class="el" href="classArClientBase_1_1Tracker.html">Tracker</a> *&gt; ArClientBase::myTrackingReceivedMap</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArClientBase.html#acadc0bdb42259b3d7ad76cd942f2c660">clear()</a>, <a class="el" href="classArClientBase.html#aca6670002abd10af169aab84bd2dd1ad">logTracking()</a>, <a class="el" href="classArClientBase.html#a4ed44a6f3835bd41e4aff334b4dbf764">resetTracking()</a>, and <a class="el" href="classArClientBase.html#a224e4e8b41c1d4d9da67e2de8a56d49a">trackPacketReceived()</a>.</p>

</div>
</div>
<a class="anchor" id="ae1244558b7f208180a016abe882a58ab"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::map&lt;unsigned int, <a class="el" href="classArClientBase_1_1Tracker.html">Tracker</a> *&gt; ArClientBase::myTrackingSentMap</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArClientBase.html#acadc0bdb42259b3d7ad76cd942f2c660">clear()</a>, <a class="el" href="classArClientBase.html#aca6670002abd10af169aab84bd2dd1ad">logTracking()</a>, <a class="el" href="classArClientBase.html#a4ed44a6f3835bd41e4aff334b4dbf764">resetTracking()</a>, and <a class="el" href="classArClientBase.html#aa320dbc731f8743c3467659112f5b74f">trackPacketSent()</a>.</p>

</div>
</div>
<a class="anchor" id="ac09ba48db8d5b575c6d8b5588a102f86"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArTime.html">ArTime</a> ArClientBase::myTrackingStarted</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArClientBase.html#aca6670002abd10af169aab84bd2dd1ad">logTracking()</a>, and <a class="el" href="classArClientBase.html#a4ed44a6f3835bd41e4aff334b4dbf764">resetTracking()</a>.</p>

</div>
</div>
<a class="anchor" id="a5c2cf4efb62aebe7add51bff09b438f4"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool ArClientBase::myUdpConfirmedFrom</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArClientBase.html#acadc0bdb42259b3d7ad76cd942f2c660">clear()</a>, <a class="el" href="classArClientBase.html#a39d46ebf1e5e28326fbe60c569f113e0">internalNonBlockingConnectContinue()</a>, and <a class="el" href="classArClientBase.html#aace1f3cde948cc76173978a2a4062834">processPacketUdp()</a>.</p>

</div>
</div>
<a class="anchor" id="a5b8dea940f32699d25610fba6c5a8f63"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool ArClientBase::myUdpConfirmedTo</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArClientBase.html#acadc0bdb42259b3d7ad76cd942f2c660">clear()</a>, <a class="el" href="classArClientBase.html#a39d46ebf1e5e28326fbe60c569f113e0">internalNonBlockingConnectContinue()</a>, and <a class="el" href="classArClientBase.html#a8f2e8920b136953c0deccb6e3fe3ee73">processPacket()</a>.</p>

</div>
</div>
<a class="anchor" id="a1d239b09ee5bcf5e23ad2b011e343ce5"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">unsigned int ArClientBase::myUdpPort</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArClientBase.html#a4ff058a24b4b23152753340e3a99bc77">internalConnect()</a>, <a class="el" href="classArClientBase.html#a30a0d249eb8828a2a0146d1e05914fca">internalStartUdp()</a>, and <a class="el" href="classArClientBase.html#a8f2e8920b136953c0deccb6e3fe3ee73">processPacket()</a>.</p>

</div>
</div>
<a class="anchor" id="ab7b5b068d808f92ddae2d5d6502dfa1d"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classArNetPacketReceiverUdp.html">ArNetPacketReceiverUdp</a> ArClientBase::myUdpReceiver</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArClientBase.html#ab2cf2d19c6da6490fe4c04554a7f31b2">ArClientBase()</a>, and <a class="el" href="classArClientBase.html#a156525a1b5ca6a26c8b72c48b3c06848">loopOnce()</a>.</p>

</div>
</div>
<a class="anchor" id="a8e3638c3cf9c52be7059922a1f8e950d"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">struct sockaddr_in ArClientBase::myUdpSin</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArClientBase.html#a30a0d249eb8828a2a0146d1e05914fca">internalStartUdp()</a>, <a class="el" href="classArClientBase.html#a8f2e8920b136953c0deccb6e3fe3ee73">processPacket()</a>, <a class="el" href="classArClientBase.html#aace1f3cde948cc76173978a2a4062834">processPacketUdp()</a>, and <a class="el" href="classArClientBase.html#adff0830f1f877067d90261cecf887414">sendPacketUdp()</a>.</p>

</div>
</div>
<a class="anchor" id="a6106915f3057a6e1434a7fbc483b9598"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool ArClientBase::myUdpSinValid</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArClientBase.html#a30a0d249eb8828a2a0146d1e05914fca">internalStartUdp()</a>.</p>

</div>
</div>
<a class="anchor" id="ae89e9630b0e0de6a4b1d5ed7dfd9a78b"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArSocket.html">ArSocket</a> ArClientBase::myUdpSocket</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArClientBase.html#ab2cf2d19c6da6490fe4c04554a7f31b2">ArClientBase()</a>, <a class="el" href="classArClientBase.html#a59e95e3eeaec12a3925ed3eb13d13b5e">finishNonBlockingDisconnect()</a>, <a class="el" href="classArClientBase.html#a7c413fed28c90c2784d685e44c6cc105">getUdpSocket()</a>, <a class="el" href="classArClientBase.html#a39d46ebf1e5e28326fbe60c569f113e0">internalNonBlockingConnectContinue()</a>, <a class="el" href="classArClientBase.html#a4c5b2436e7efbce5f7325e3cafd085d8">internalNonBlockingConnectStart()</a>, <a class="el" href="classArClientBase.html#a30a0d249eb8828a2a0146d1e05914fca">internalStartUdp()</a>, <a class="el" href="classArClientBase.html#aca6670002abd10af169aab84bd2dd1ad">logTracking()</a>, <a class="el" href="classArClientBase.html#a156525a1b5ca6a26c8b72c48b3c06848">loopOnce()</a>, <a class="el" href="classArClientBase.html#a4ed44a6f3835bd41e4aff334b4dbf764">resetTracking()</a>, and <a class="el" href="classArClientBase.html#adff0830f1f877067d90261cecf887414">sendPacketUdp()</a>.</p>

</div>
</div>
<a class="anchor" id="a61e3d4646c2785d2582c1b19fdd514f3"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::string ArClientBase::myUser</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArClientBase.html#a4c5b2436e7efbce5f7325e3cafd085d8">internalNonBlockingConnectStart()</a>, and <a class="el" href="classArClientBase.html#a8f2e8920b136953c0deccb6e3fe3ee73">processPacket()</a>.</p>

</div>
</div>
<a class="anchor" id="ae4efc14ab439bbdfb50650242215c4b7"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#ac8cc0fb3aa323ab2a1c21340fdd1dce3">ArLog::LogLevel</a> ArClientBase::myVerboseLogLevel</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArClientBase.html#af75610dd7e91d98097de1b252d0bacd5">addHandler()</a>, <a class="el" href="classArClientBase.html#ab2cf2d19c6da6490fe4c04554a7f31b2">ArClientBase()</a>, <a class="el" href="classArClientBase.html#a0cd5721a220ebddad72fd9fd5f38a276">buildList()</a>, <a class="el" href="classArClientBase.html#a4ff058a24b4b23152753340e3a99bc77">internalConnect()</a>, <a class="el" href="classArClientBase.html#a39d46ebf1e5e28326fbe60c569f113e0">internalNonBlockingConnectContinue()</a>, <a class="el" href="classArClientBase.html#ad77e87d97528439fb884be5c1f831104">logDataList()</a>, <a class="el" href="classArClientBase.html#a8f2e8920b136953c0deccb6e3fe3ee73">processPacket()</a>, <a class="el" href="classArClientBase.html#aace1f3cde948cc76173978a2a4062834">processPacketUdp()</a>, <a class="el" href="classArClientBase.html#a904bea3bf052b9a13bba5d81e45f68f9">remHandler()</a>, <a class="el" href="classArClientBase.html#a0a36a40fe2598eb214368ae8c3a26ca1">request()</a>, <a class="el" href="classArClientBase.html#a2dcd11daf8d2045d460b83733e6932d0">requestOnce()</a>, <a class="el" href="classArClientBase.html#ab7e431bdf19aa838576c7928302efe67">requestOnceUdp()</a>, <a class="el" href="classArClientBase.html#a972cebefaa57d709158b5b0d2c459d0f">requestOnceWithDouble()</a>, <a class="el" href="classArClientBase.html#ad70a1f142b30a08ab54a02146a4c2005">requestOnceWithInt16()</a>, <a class="el" href="classArClientBase.html#a539a9fd371bade04042cf48191afd674">requestOnceWithInt32()</a>, <a class="el" href="classArClientBase.html#a3b3783c386707050eb83287cb53dd07b">requestOnceWithString()</a>, <a class="el" href="classArClientBase.html#aee1400e28ba15f18c032ea7f3b414cfd">requestStop()</a>, and <a class="el" href="classArClientBase.html#a9d362e67fded3e8c36f120663c7f66cd">setRobotName()</a>.</p>

</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="ArClientBase_8h.html">ArClientBase.h</a></li>
<li><a class="el" href="ArClientBase_8cpp.html">ArClientBase.cpp</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="classArClientBase.html">ArClientBase</a></li>
    <li class="footer">Generated by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.11 </li>
  </ul>
</div>
</body>
</html>
